nl - line numbering filter.


    $ nl [-V] [-p] [-b type] [-d delim] [-f type] [-h type] [-i incr] [-l num] [-n format] [-s sep] [-v startnum] [-w width] [file]

    -V              version
    -b type         'a'     all lines
                    't'     only non-empty lines (default)
                    'n'     no numbering
                    'pexpr' only lines matching pattern specified by expr
                    'eexpr' exclude lines matching pattern specified by expr
    -d delim        characters (max 2) indicating new section (default : '\\:')
    -f type         same as -b but for footer lines (default : 'n')
    -h type         same as -b but for header lines (default : 'n')
    -i incr         increment value (dafault : 1)
    -n format       'ln'    left justified
                    'rn'    right justified without leading zeros (default)
                    'rz'    right justified with leading zeros
    -p              single page (don't restart numbering at pages delimiters)
    -s sep          characters between number and text line (default : TAB)
    -v startnum     initial value to number pages (default : 1)
    -w width        line number width (default : 6)


nl is a clone of the standard 'nl' line numbering utility, in Perl. It reads files sequentially, and writes them to STDOUT, with lines numbered. If file is a dash "-" or if no file is given as argument, nl reads from STDIN.


Please report any bugs or feature requests to, or through the web interface at




This software is Copyright (c) 2020 by jul.

This is free software, licensed under:

  The Artistic License 2.0 (GPL Compatible)