nl(1) USER COMMANDS nl(1)
NAME
nl - line numbering filter
SYNOPSIS
nl [-btype] [-ftype] [-htype] [-vstart#] [-iincr] [-p]
[-lnum] [-ssep] [-wwidth] [-nformat] [-ddelim] [file]
DESCRIPTION
nl reads lines from the named file, or the standard input if
no file is named, and reproduces the lines on the standard
output. Lines are numbered on the left in accordance with
the command options in effect. nl views the text it reads
in terms of logical pages. Line numbering is reset at the
start of each logical page. A logical page consists of a
header, a body, and a footer section. Empty sections are
valid. Different line numbering options are independently
available for header, body, and footer. For example, -bt
(the default) numbers non-blank lines in the body section
and does not number any lines in the header and footer sec-
tions. The start of logical page sections are signaled by
input lines containing nothing but the following delimiter
character(s):
Line contents Start of
\:\:\: header
\:\: body
\: footer
Unless optioned otherwise, nl assumes the text being read is
in a single logical page body. Command options may appear
in any order and may be intermingled with an optional file
name. Only one file may be named. The options are:
-btype Specifies which logical page body lines are to be
numbered. Recognized types and their meanings
are:
a number all lines
t number lines with printable text only
n no line numbering
pexp number only lines that contain the regular expression
specified in exp (see ed(1))
Default type for logical page body is t (text
lines numbered).
-ftype Same as -btype except for footer. Default type
for logical page footer is n (no lines numbered).
1
nl(1) USER COMMANDS nl(1)
-htype Same as -btype except for header. Default type
for logical page header is n (no lines numbered).
-vstart# start# is the initial value used to number logical
page lines. Default start# is 1.
-iincr incr is the increment value used to number logical
page lines. Default incr is 1.
-p Do not restart numbering at logical page delim-
iters.
-lnum num is the number of blank lines to be considered
as one. For example, -l2 results in only the
second adjacent blank being numbered (if the
appropriate -ha, -ba, and/or -fa option is set).
Default num is 1.
-ssep sep is the character(s) used in separating the
line number and the corresponding text line.
Default sep is a tab.
-wwidth width is the number of characters to be used for
the line number. Default width is 6.
-nformat format is the line numbering format. Recognized
values are: ln, left justified, leading zeroes
suppressed; rn, right justified, leading zeroes
suppressed; rz, right justified, leading zeroes
kept. Default format is rn (right justified).
-ddelim The two delimiter characters specifying the start
of a logical page section may be changed from the
default characters (\:) to two user-specified
characters. If only one character is entered, the
second character remains the default character
(:). No space should appear between the -d and
the delimiter characters. To enter a backslash,
use two backslashes.
EXAMPLE
The command:
nl -v10 -i10 -d!+ file1
will cause the first line of the page body to be numbered
10, the second line of the page body to be numbered 20, the
third 30, and so forth. The logical page delimiters are !+.
SEE ALSO
pr(1), ed(1).
2