{{Short description|Unix command}} {{Lowercase title}} {{Infobox software | name = nl | logo = | screenshot = | screenshot size = | caption = | author = | developer = | released = | latest release version = | latest release date = | operating system = Unix and Unix-like | platform = Cross-platform | genre = Command | license = coreutils: GPLv3+ | website = }} '''nl''' is a Unix utility for numbering lines, either from a file or from standard input, reproducing output on standard output.
== History == {{code|nl}} is part of the X/Open Portability Guide since issue 2 of 1987. It was inherited into the first version of POSIX.1 and the Single Unix Specification.<ref>{{man|cu|nl|SUS}}</ref> It first appeared in System V release 2.<ref>{{man|1|nl|FreeBSD}}</ref>
The version of <code>nl</code> bundled in GNU coreutils was written by Scott Bartram and David MacKenzie.<ref>{{man|1|nl|ManKier}}</ref>
The command is available as a separate package for Microsoft Windows as part of the UnxUtils collection of native Win32 ports of common GNU Unix-like utilities.<ref>{{Cite web|url=https://unxutils.sourceforge.net/|title=Native Win32 ports of some GNU utilities|website=unxutils.sourceforge.net|access-date=2025-08-09|archive-date=2006-02-09|archive-url=https://web.archive.org/web/20060209022842/http://unxutils.sourceforge.net/|url-status=live}}</ref>
==Syntax== The command has a number of switches:
*a - number all lines *t - number lines with printable text only *n - no line numbering *p''string'' - number only those lines containing the regular expression defined in the ''string'' supplied.
The default applied switch is ''t''.
nl also supports some command line options.
==Example== <syntaxhighlight lang="bash"> $ nl tf 1 echo press cr 2 read cr 3 done </syntaxhighlight> The following example numbers only the lines that begin with a capital letter A (matching on the regular expression /^A/). ''filename'' is optional. <syntaxhighlight lang="console"> $ nl -b p^A filename apple 1 Apple BANANA 2 Allspice strawberry </syntaxhighlight> It can be useful as an alternative to {{mono|grep -n}}: <syntaxhighlight lang="console"> $ cat somefile aaaa bbbb cccc dddc $ nl -ba somefile | grep cccc 3 cccc </syntaxhighlight>
==See also== *wc (Unix) – the word count command *cat (Unix) – concatenate command (-n flag is equivalent to nl -a) *List of Unix commands
==References== {{Reflist}}
==External links== {{Wikibooks|Guide to Unix|Commands}}
{{Unix commands}} {{Core Utilities commands}}
Category:Unix text processing utilities Category:Unix SUS2008 utilities