Audit nl(1)
1) Refactor the manpage to use the num-syntax and concise wording. 2) Build format instead of having a list of static strings. 3) BUGFIX: if (!buf[0] || buf[0] == '\n') Process last-read-line properly. 4) BUGFIX: In case we hit a formatting line, print a newline instead of just dropping it. 5) Use a switch instead of having spaghetti-cases. 6) Don't use printf-magic but explicitly do a putchar(' ')-loop. 7) Update usage(), indent properly. 8) BUGFIX: strchr is not NULL when type[0] is \0. Check for \0 separately beforehand. 9) Reorder arg.h-cases for better readability.
This commit is contained in:
82
nl.1
82
nl.1
@@ -1,4 +1,4 @@
|
||||
.Dd March 18, 2015
|
||||
.Dd March 22, 2015
|
||||
.Dt NL 1
|
||||
.Os sbase
|
||||
.Sh NAME
|
||||
@@ -11,18 +11,19 @@
|
||||
.Op Fl d Ar delim
|
||||
.Op Fl f Ar type
|
||||
.Op Fl h Ar type
|
||||
.Op Fl i Ar incr
|
||||
.Op Fl i Ar num
|
||||
.Op Fl l Ar num
|
||||
.Op Fl n Ar format
|
||||
.Op Fl s Ar sep
|
||||
.Op Fl v Ar startnum
|
||||
.Op Fl w Ar width
|
||||
.Op Fl v Ar num
|
||||
.Op Fl w Ar num
|
||||
.Op Ar file
|
||||
.Sh DESCRIPTION
|
||||
.Nm
|
||||
reads lines from the named
|
||||
reads lines from
|
||||
.Ar file
|
||||
and writes them to stdout with non-empty lines numbered. If no
|
||||
and writes them to stdout, numbering non-empty lines.
|
||||
If no
|
||||
.Ar file
|
||||
is given
|
||||
.Nm
|
||||
@@ -30,64 +31,61 @@ reads from stdin.
|
||||
.Sh OPTIONS
|
||||
.Bl -tag -width Ds
|
||||
.It Fl p
|
||||
Do not reset number for logical pages
|
||||
.It Fl b Ar type
|
||||
Defines which lines will be numbered for body sections:
|
||||
Do not reset line number for logical pages.
|
||||
.It Fl h Ar type | Fl b Ar type | Fl f Ar type
|
||||
Define which lines to number in the head | body | footer section:
|
||||
.Bl -tag -width pstringXX
|
||||
.It a
|
||||
All lines.
|
||||
.It n
|
||||
No lines.
|
||||
.It t
|
||||
Only non-empty lines (default).
|
||||
Only non-empty lines. This is the default.
|
||||
.It p Ns Ar expr
|
||||
Only lines which match
|
||||
.Ar expr ,
|
||||
a regular expression as defined in
|
||||
Only lines matching
|
||||
.Ar expr
|
||||
according to
|
||||
.Xr regex 7 .
|
||||
.El
|
||||
.It Fl d Ar delim
|
||||
Specify the delimiter (default is "\\:"). If only one character is specified, the second remains ':'.
|
||||
.It Fl f Ar type
|
||||
Same as
|
||||
.Fl b
|
||||
except for footer sections.
|
||||
.It Fl h Ar type
|
||||
Same as
|
||||
.Fl b
|
||||
except for header sections.
|
||||
.It Fl i Ar incr
|
||||
Defines the increment between numbered lines.
|
||||
Set
|
||||
.Ar delim
|
||||
as the delimiter for logical pages. If
|
||||
.Ar delim
|
||||
is only on character,
|
||||
.Nm
|
||||
appends ":" to it. The default is "\e:".
|
||||
.It Fl i Ar num
|
||||
Set the increment between numbered lines to
|
||||
.Ar num .
|
||||
.It Fl l Ar num
|
||||
Specify the number of adjacent blank lines to be considered as one. Default is 1.
|
||||
Set the number of adjacent blank lines to be considered as one to
|
||||
.Ar num .
|
||||
The default is 1.
|
||||
.It Fl n Ar format
|
||||
Specify the line number output format.
|
||||
The
|
||||
Set the line number output
|
||||
.Ar format
|
||||
can be any of the following:
|
||||
to one of:
|
||||
.Bl -tag -width pstringXX
|
||||
.It ln
|
||||
Left justified.
|
||||
.It rn
|
||||
Right justified.
|
||||
Right justified. This is the default.
|
||||
.It rz
|
||||
Right justified with leading zeroes.
|
||||
.El
|
||||
.Pp
|
||||
The default
|
||||
.Ar format
|
||||
is rn.
|
||||
.It Fl s Ar sep
|
||||
Defines the string used to separate line numbers and lines. By default this is
|
||||
a tab.
|
||||
.It Fl v Ar startnum
|
||||
Start counting from
|
||||
.Ar startnum
|
||||
instead of the default 1.
|
||||
.It Fl w Ar width
|
||||
The number of characters to be occupied by the line number
|
||||
will be set to
|
||||
.Ar width .
|
||||
Use
|
||||
.Ar sep
|
||||
to separate line numbers and lines. The default is "\et".
|
||||
.It Fl v Ar num
|
||||
Start counting lines from
|
||||
.Ar num .
|
||||
The default is 1.
|
||||
.It Fl w Ar num
|
||||
Set the width of the line number to
|
||||
.Ar num .
|
||||
The default is 6.
|
||||
.El
|
||||
.Sh SEE ALSO
|
||||
|
Reference in New Issue
Block a user