Як відобразити номери рядків у "менше" (GNU)


660

Яка команда зробити менше ліній відображення рядків у лівій колонці?


80
lessє утилітою командного рядка linux і дуже часто використовується програмістами для перегляду текстових файлів. Це питання суто тематичне для переповнення стека під доменом "інструменти, якими користуються програмісти", як і всі питання, що стосуються використання, gitє тематичними. Це також перше потрапляння в Google при пошуку "менших номерів рядків показу". Це питання не слід закривати.
Джон Дайблінг

5
@JohnDibling Питання є більш підходящим для обміну стеками Unix та Linux . Просто тому less, що використовується програмістами, це не робить це на тему. Олівці теж "інструменти, якими користуються програмісти", але питання про те, як заточити олівець, тут не підійде.
серпень

17
@augurar Я думаю , що ви НЕ знаєте , що інструменти тут означає програмні засоби . Ви навмисно інтерпретуєте значення інструментів поза контекстом. До речі, я також думаю, що це питання підходить для Unix & Linux Stack Exchange, але це не заважає цьому питанню бути тут на SO :)
Gab 是 好人

Відповіді:


979

З посібника :

-N або --LINE-NUMBERS Починає відображати номер рядка на початку кожного рядка на дисплеї.

Ви також можете перемикати номери ліній, не виходячи з цього вибору, набираючи менше -N.

Цим способом можна перемикати будь-який із параметрів командного рядка менше.


6
Коли я менш величезний файл, то "G" донизу, він говорить "Обчислення чисел рядків ... (переривання для переривання)", хоча він не відображає номери рядків. Мені хотілося б знати, як дізнатися, на якій лінії я перебуваю, не виходячи і не перезапускаючись з -N. Я терплю покарання. Де винагорода?
Бруно Броноський

93
ого, я менше десятки разів переглядав допомогу, сподіваючись знайти відповідь на це. Я завжди не помічав "- <flag> Увімкнення параметра командного рядка [див. ОПЦІЇ нижче]." ... це означає, що ви можете вводити "-N" зсередини менше. Мене це дратує вже близько десятиліття. Хороші часи!
Бруно Броноський

2
чи можна відображати номери рядків іншим кольором?
greg

3
Привіт @greg Ви можете використовувати sedдля розфарбовування номерів рядків та опції, -Rщоб дозволити lessкольори відображення: cat -n file.txt | sed 's/^[ 0-9]*[0-9]/\o033[34m&\o033[0m/' | less -R Ви також можете налаштувати LESSOPEN... Ура;)
олибре

1
Натисніть ENTER / RETURN, якщо ви намагаєтесь переключити. Ввівши -n або -N, використовуючи менше, можливо, вам також знадобиться натиснути це, щоб застосувати зміни. Це навіть говорить внизу, але мій мозок не з'єднав крапки, тому що я припускав, що це буде миттєво, і я продовжував набирати -N і цікавився, чому цифри ніколи не з’являються.
abelito

146

Ви також можете натиснути, =поки lessвін відкритий, щоб просто відобразити (у нижній частині екрана) інформацію про поточний екран, включаючи номери рядків, у форматі:

myfile.txt lines 20530-20585/1816468 byte 1098945/116097872 1%  (press RETURN)

Так ось, наприклад, на екрані в даний час відображалися рядки 20530-20585, а файли мають загальну кількість 1816468рядків.


44

Ви можете відфільтрувати файл, cat -nперш ніж переходити до less:

cat -n file.txt | less

Або, якщо ваша версія lessпідтримує її, -Nваріант:

less -N file.txt

4
Яка версія (-ів) менше ви знаєте, що (-и) її не підтримують?
Аарон Холл

Я зазвичай використовую nl замість cat -n
ychaouche

32

Ви можете встановити змінну навколишнього середовища, щоб ці параметри завжди застосовувались до всіх файлів, які мають менше розміру:

export LESS='-RS#3NM~g'

2
Лінія alias less="LESS='-RS#3NM~g' less"в .bashrcмій день! Дякую!
Журі

4
Пояснення цього заклику було б дуже вітаємо :)
minexew

3
Варіанти: R = краща обробка сировинних кольорових кодів у файлах. S = Прокручуйте довгі рядки з екрану замість обгортання слів. # 3 = прокручуйте вправо / вліво по 3 позиції одночасно. N = показати номери рядків M = Більш довгі підказки. ~ = Замість відображення порожнього простору після закінчення файлу на ~, нічого не відображайте для порожнього простору. g = під час пошуку з 'g', виділіть лише поточну відповідність замість усіх збігів.
Брайан

17

Командний рядок позначає -Nабо --LINE-NUMBERSспричиняє показ рядка на початку кожного рядка на дисплеї.

Ви також можете перемикати номери рядків, не lessвиходячи з ладу , ввівши -N<return>. Таким чином можна переключити будь-який з lessпараметрів командного рядка.


1
Передача -N або -LINE-NUMBERS показує для мене лише дату в CentOS 5.3. Однак використання -N після запуску менше працює чудово.
Майк Міллер

15

Якщо ви натискаєте =і очікуєте бачити номери рядків, але бачити лише кількість байтів, то номери рядків вимикаються. Натисніть, -nщоб увімкнути їх і переконайтесь$LESS немає "n".

Вимкнення номерів рядків за замовчуванням (наприклад, налаштування LESS=n ) прискорює пошук у дуже великих файлах. Це зручно, якщо ви часто шукаєте великі файли, але, як правило, не важливо, на якій лінії ви перебуваєте.

Я, як правило, запускаю LESS=RSXin(увімкнено коди евакуації, довгі рядки порубані, не очищайте екран при виході, ігноруйте регістр усіх пошукових записів нижнього регістру та не рахуйте номер рядка за замовчуванням) і використовую лише -nабо -Sзсередини, lessякщо потрібно.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.