NL(1) User Commands NL(1)

# [NAME](#NAME)

nl - number lines of files

# [SYNOPSIS](#SYNOPSIS)

**nl** \[*OPTION*]... \[*FILE*]...

# [DESCRIPTION](#DESCRIPTION)

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.

[**-b, --body-numbering=STYLE**](#b,)

use STYLE for numbering body lines

[**-d, --section-delimiter=CC**](#d,)

use CC for logical page delimiters

[**-f, --footer-numbering=STYLE**](#f,)

use STYLE for numbering footer lines

[**-h, --header-numbering=STYLE**](#h,)

use STYLE for numbering header lines

[**-i, --line-increment=NUMBER**](#i,)

line number increment at each line

[**-l, --join-blank-lines=NUMBER**](#l,)

group of NUMBER empty lines counted as one

[**-n, --number-format=FORMAT**](#n,)

insert line numbers according to FORMAT

[**-p, --no-renumber**](#p,)

do not reset line numbers for each section

[**-s, --number-separator=STRING**](#s,)

add STRING after (possible) line number

[**-v, --starting-line-number=NUMBER**](#v,)

first line number for each section

[**-w, --number-width=NUMBER**](#w,)

use NUMBER columns for line numbers

[**--help**](#help)

display this help and exit

[**--version**](#version)

output version information and exit

Default options are: **-bt** **-d**'\\:' **-fn** **-hn** **-i1** **-l1** **-n**'rn' **-s**&lt;TAB&gt; **-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:

[a](#a)

number all lines

[t](#t)

number only nonempty lines

[n](#n)

number no lines

[pBRE](#pBRE)

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

FORMAT is one of:

[ln](#ln)

left justified, no leading zeros

[rn](#rn)

right justified, no leading zeros

[rz](#rz)

right justified, leading zeros

# [AUTHOR](#AUTHOR)

Written by Scott Bartram and David MacKenzie.

# [REPORTING BUGS](#REPORTING_BUGS)

Report bugs to: &lt;bug-coreutils@gnu.org&gt;.  
Report any translation bugs to: &lt;https://translationproject.org/team/&gt;.  
GNU coreutils home page: &lt;https://www.gnu.org/software/coreutils/&gt;  
General help using GNU software: &lt;https://www.gnu.org/gethelp/&gt;

# [COPYRIGHT](#COPYRIGHT)

Copyright © 2026 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later &lt;https://gnu.org/licenses/gpl.html&gt;.  
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

# [SEE ALSO](#SEE_ALSO)

Full documentation &lt;https://www.gnu.org/software/coreutils/nl&gt;  
or available locally via: info '(coreutils) nl invocation'

September 2026 GNU coreutils 9.12

---

Document: nl(1) from coreutils 9.12-r3 (Chainguard OS)
Source: https://git.savannah.gnu.org/git/coreutils.git
