Вывод файла в терминале с нумерацией строк

Команда nl Расскажу о двух простых способах вывода текстового файла в терминале с отображением номеров строк. Это может быть полезно, например, программистам или тем, кто много работает с конфигурационными файлами, используя терминал в Linux.

Для теста я буду использовать файл следующего содержания, содержащий 4 строки:

Строка номер один

Строка номер три
Строка номер четыре

Вторая строка в файле пустая.

Команда nl

В простейшем случае для команды nl необходимо указать имя файла:

nl textfile

В результате на экран будет выведено содержимое файла, а слева будут стоять номера строк:

$ nl textfile
     1	Строка номер один
       
     2	Строка номер три
     3	Строка номер четыре

Обратите внимание, что пустую строку в файле команда nl проигнорировала. Для того, чтобы учитывались все строки используется ключ -ba:

$ nl -ba textfile
     1	Строка номер один
     2	
     3	Строка номер три
     4	Строка номер четыре

Команда nl поддерживает различные форматы вывода (стили) и некоторые дополнительные опции. Для получения справки выполните:

man nl

Команда cat с ключом -n

У команды cat есть аргумент -n, который предназначен для вывода файла с нумерацией строк. Выполним:

cat -n textfile
     1	Строка номер один
     2	
     3	Строка номер три
     4	Строка номер четыре

Мы получили аналог выполнения nl -ba textfile. Для пропуска пустых строк необходимо использовать ключ -b:

cat -b textfile
22.08.2013yuriy7

Комментарии

DmA
22.08.2013, 15:43
Спасибо! Полезные команды!
Razlagutt
23.08.2013, 22:21
Поддерживаю! Нужная инфа!
Активный
24.08.2013, 20:13
cat -b идет в блокнот, а:
nl -w1 README.md
выглядит красивее (нумерация идет с минимальным отступом)
артем
11.09.2013, 12:00
спс
google
31.10.2013, 21:41
Отлично!
Алексей
06.11.2013, 02:26
А как сделать поиск в файле и вывести только номер строки, где есть совпадение.

grep -n выводит также и содержимое.
Antonio
21.02.2017, 12:03
А как сделать поиск в файле и вывести только номер строки, где есть совпадение.

вариант 1:

$ grep -n zebra top-NNN.txt | cut -d: -f1
979

вариант 2:

$ grep -n zebra top-NNN.txt | awk 'BEGIN {FS=":"} {print $1}'
979

Написать комментарий

Ваше имя:
Текст:
Вы не зарегистрированы: комментарий будет опубликован только после просмотра администратором сайта.