nl is a Unix utility for numbering lines, either from a file or from standard input, reproducing output on standard output. History 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. It first appeared in System V release 2. The version of nl bundled in GNU coreutils was written by Scott Bartram and David MacKenzie. 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. Syntax The command has a number of switches: a - number all lines t - number lines with printable text only n - no line numbering 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 $ 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 : $ cat somefile aaaa bbbb cccc dddc $ nl somefile | grep cccc 3 cccc See also wc (Unix) – the word count command cat (Unix) – concatenate command (-n flag is equivalent to nl -a) List of Unix commands References External links Unix text processing utilities Unix SUS2008 utilities