Nl (Unix)

{{Short description|Unix command}}

{{lowercase|nl}}

{{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.{{man|cu|nl|SUS}} It first appeared in System V release 2.{{man|1|nl|FreeBSD}}

The version of nl bundled in GNU coreutils was written by Scott Bartram and David MacKenzie.{{man|1|nl|ManKier}}

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.{{Cite web|url=http://unxutils.sourceforge.net/|title=Native Win32 ports of some GNU utilities|website=unxutils.sourceforge.net}}

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 {{mono|grep -n}}:

$ cat somefile

aaaa

bbbb

cccc

dddc

$ nl somefile | grep cccc

3 cccc

See also

References

{{Reflist}}