NL(1)
๐ NL(1) โ bestie, it's the number-lines page ๐
okay so this is the manual for nl, a lil User Command that lives in GNU coreutils. Full name, no nickname needed: it's nl, and it numbers lines of files. That's the whole job. It does it beautifully. ๐
โจ NAME โจ
nl โ number lines of files ๐ธ
โจ SYNOPSIS โจ
nl [OPTION]... [FILE]...
โจ DESCRIPTION โจ
So here's the vibe: nl writes each FILE out to standard output, but with line numbers added. That's it. That's the whole main character arc. ๐ฆ
And if you don't give it any FILE at all, or you pass - as a FILE, it reads standard input. So it plays nice in pipes, no cap.
Heads up bestie: mandatory arguments to long options are also mandatory for the short options. So like, you can't just skip the value because you used the short flag. It's giving "the rule applies both ways." ๐ญ
๐ the options (there's a lot, but we're doing all of them, periodt)
-b,--body-numbering=STYLEโ use STYLE for numbering body lines ๐-d,--section-delimiter=CCโ use CC for logical page delimiters-f,--footer-numbering=STYLEโ use STYLE for numbering footer lines-h,--header-numbering=STYLEโ use STYLE for numbering header lines-i,--line-increment=NUMBERโ the line number increment at each line-l,--join-blank-lines=NUMBERโ a group of NUMBER empty lines gets counted as one ๐-n,--number-format=FORMATโ insert line numbers according to FORMAT-p,--no-renumberโ do not reset line numbers for each section-s,--number-separator=STRINGโ add STRING after the (possible) line number-v,--starting-line-number=NUMBERโ first line number for each section-w,--number-width=NUMBERโ use NUMBER columns for line numbers--helpโ display this help and exit ๐--versionโ output version information and exit
๐ the default vibe check
The default options are literally:
-bt -d'\:' -fn -hn -i1 -l1 -n'rn' -s<TAB> -v1 -w6
Like, that's the factory setting. Slay. โจ
๐ฅ about CC (the delimiters)
CC are two delimiter characters used to construct logical page delimiters. If the second character is missing, it's implied to be ':'. And as a GNU extension, you can actually specify more than two characters โ and you can also specify the empty string, i.e. -d '', which disables section matching entirely. Not me giving you options on top of options ๐
๐ STYLE is one of:
aโ number all linestโ number only nonempty linesnโ number no linespBREโ number only lines that contain a match for the basic regular expression, BRE
๐ง FORMAT is one of:
lnโ left justified, no leading zerosrnโ right justified, no leading zerosrzโ right justified, leading zeros
โจ AUTHOR โจ
Written by Scott Bartram and David MacKenzie. ๐ซถ Legends, fr fr.
โจ REPORTING BUGS โจ
Found a bug? Don't suffer in silence bestie, tell the people:
- Report bugs to:
<bug-coreutils@gnu.org>. ๐ - Report any translation bugs to:
<https://translationproject.org/team/>. - GNU coreutils home page:
<https://www.gnu.org/software/coreutils/> - General help using GNU software:
<https://www.gnu.org/gethelp/>
โจ COPYRIGHT โจ
Copyright ยฉ 2026 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. ๐ญ (say it louder for the people in the back)
โจ SEE ALSO โจ
- Full documentation
<https://www.gnu.org/software/coreutils/nl> - or available locally via:
info '(coreutils) nl invocation'๐ฆ
And that's the page, bestie!! This whole thing came out of GNU coreutils 9.12, dated September 2026, and it's the NL(1) manual โ go number some lines, you absolute icon ๐โจ๐
๐ฆ where this page comes from
- arch rolling: coreutils 9.12-2 ยท GPL-3.0-or-later AND GFDL-1.3-or-later
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms