Команды Linux · 2 min read · Sep 14, 2025

Учебник по команде nl в Linux для начинающих (7 примеров)

Linux предлагает множество инструментов командной строки для форматирования текста, каждый из которых имеет свою цель. Одним из таких утилит является nl, которая позволяет нумеровать строки в файлах. В этом учебнике мы обсудим основы этой команды, используя несколько простых для понимания примеров.

Но прежде чем мы это сделаем, стоит упомянуть, что все примеры, использованные в этом учебнике, были протестированы на системе Ubuntu 16.04 LTS.

Команда nl в Linux

Как уже упоминалось в начале, команда nl нумерует строки в файлах. Вот ее синтаксис:

nl [OPTION]... [FILE]...

А вот как это объясняет страница man:

Запишите каждый FILE в стандартный вывод с добавленными номерами строк. Без FILE или когда FILE равен -, читайте стандартный ввод.

Следующие примеры в формате вопросов и ответов должны дать вам лучшее представление о том, как работает nl.

Вопрос 1. Как использовать команду nl?

Основное использование nl очень просто - все, что вам нужно сделать, это передать в качестве аргумента имя файла, строки которого вы хотите пронумеровать.

nl [filename]

Вот пример:

Как использовать команду nl

Вопрос 2. Как нумеровать пустые строки?

По умолчанию команда nl не нумерует пустые строки:

Как нумеровать пустые строки

Однако, если вы хотите, вы можете изменить это поведение, передав значение ‘a’ параметру командной строки -b.

nl -b a [filename]

Как нумеровать пустые строки - результат

Вопрос 3. Как настроить значение увеличения номера?

По умолчанию значение увеличения номера равно 1. Однако вы можете настроить это, используя параметр командной строки -i.

nl -i [new-inc-val] [filename]

Например:

Как настроить значение увеличения номера

Вопрос 4. Как сделать так, чтобы nl считал несколько пустых строк за одну?

Для этого используйте параметр командной строки -l. Вот как это объясняет страница man:

Считайте NUMBER (по умолчанию 1) последовательные пустые строки за одну логическую строку для нумерации и нумеруйте только последнюю. Если встречается менее NUMBER последовательных пустых строк, не нумеруйте их. Пустая строка - это строка, которая не содержит символов, даже пробелов или табуляций.

Например, возьмем следующий файл:

Как сделать так, чтобы nl считал несколько пустых строк за одну

И предположим, что мы хотим, чтобы nl считал 8 последовательных пустых строк за одну логическую строку для нумерации. Тогда вот команда, которую мы запустим:

nl -b a -l 8 [filename]

мы хотим, чтобы nl считал 8 последовательных пустых строк

Вопрос 5. Как использовать разные форматы нумерации?

Вы можете использовать параметр командной строки -n, чтобы указать форматы нумерации. Доступные параметры включают выравнивание по левому краю, выравнивание по правому краю и выравнивание по правому краю с ведущими нулями. Вы можете получить доступ к этим форматам, используя значения ln, rn и rz.

Вот примеры, показывающие все эти форматы:

Как использовать разные форматы нумерации

Вопрос 6. Как использовать пользовательский разделитель нумерации?

По умолчанию символ, который отделяет номер от строки, является TAB. Однако, если вы хотите, вы можете настроить это, используя параметр командной строки -s, который требует новый разделитель в качестве ввода.

Например, если мы хотим использовать двойной двоеточие (::) в качестве нового разделителя, то вот как мы можем это сделать:

nl -s :: [filename]

Как использовать пользовательский разделитель нумерации

Вопрос 7. Как сделать так, чтобы nl использовал другой начальный номер строки?

По умолчанию нумерация начинается с 1. Однако вы можете изменить это, используя параметр командной строки -v. Вот как:

nl -v [new-start-number] [filename]

Как сделать так, чтобы nl использовал другой начальный номер строки

Заключение

Команда nl проста для понимания и использования. Здесь, в этом учебнике, мы охватили большинство параметров командной строки, которые она предлагает. Как только вы закончите практиковаться с ними, перейдите на страницу man инструмента, чтобы узнать больше.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.