NL(1) User Commands NL(1)

nl - number lines of files

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

Write each FILE to standard output, with line numbers added.

With no FILE, or when FILE is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.

use STYLE for numbering body lines
use CC for logical page delimiters
use STYLE for numbering footer lines
use STYLE for numbering header lines
line number increment at each line
group of NUMBER empty lines counted as one
-n, --number-format=FORMAT
insert line numbers according to FORMAT
do not reset line numbers for each section
add STRING after (possible) line number
first line number for each section
use NUMBER columns for line numbers
display this help and exit
output version information and exit

Default options are: -bt -d'\:' -fn -hn -i1 -l1 -n'rn' -s<TAB> -v1 -w6

CC are two delimiter characters used to construct logical page delimiters; a missing second character implies ':'. As a GNU extension one can specify more than two characters, and also specifying the empty string (-d '') disables section matching.

STYLE is one of:

number all lines
number only nonempty lines
number no lines
number only lines that contain a match for the basic regular expression, BRE

FORMAT is one of:

left justified, no leading zeros
right justified, no leading zeros
right justified, leading zeros

Written by Scott Bartram and David MacKenzie.

GNU coreutils online help:
Report any translation bugs to

Copyright © 2024 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

Full documentation
or available locally via: info '(coreutils) nl invocation'

March 2024 GNU coreutils 9.5