Operating system | Unix and Unix-like |
---|---|
Platform | Cross-platform |
Type | Command |
License | coreutils: GPLv3+ |
nl is a Unix utility for numbering lines, either from a file or from standard input, reproducing output on standard output.
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.[1] It first appeared in System V release 2.[2]
The version of nl
bundled in GNU coreutils was written by Scott Bartram and David MacKenzie.[3]
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.[4]
The command has a number of switches:
The default applied switch is t.
nl also supports some command line options.
$ nl tf
1 echo press cr
2 read cr
3 done
The following example numbers only the lines that begin with a capital letter A (matching on the regular expression /^A/). filename is optional.
$ nl -b p^A filename
apple
1 Apple
BANANA
2 Allspice
strawberry
It can be useful as an alternative to grep -n:
$ cat somefile
aaaa
bbbb
cccc
dddc
$ nl somefile | grep cccc
3 cccc