Scroll to navigation

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 ':'.

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 © 2020 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'

October 2021 GNU coreutils 8.32