NL(1)

名称
nl - 行番号生成フィルタ

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

解説
nl ユーティリティは指定された file から、また file 引数が省略されている場合には標準入力から行を読み取り、 設定可能な行番号を生成添付するフィルタ処理を行い、 結果を標準出力に書き込みます。

nl ユーティリティは読み取るテキストを論理ページ単位で処理します。 特別に指定しない場合には、各論理ページの最初で行番号はリセットされます。 論理ページはヘッダ、本文、フッタで構成されます。 またブランクセクションでも有効です。ヘッダ、本文、フッタの 各セクションについて個別に行番号生成オプションを使い分けられます。

以下のような区切り記号文字並びのうちの一つだけからなる入力行が 論理ページセクション開始の合図となります。

行 開始セクション
\:\:\: | ヘッダ
\:\: | 本文
\: | フッタ

入力に論理ページセクションの合図となる宣言子が存在しない場合には、 読み取り中のテキストは単一の論理ページ本文であると仮定されます。

以下のようなオプションが使用できます。

-b type
    論理ページ本文の行に行番号をつけることを指定します。 認識される引数 type は以下のとおりです。

    a   行全部に行番号をつけます。

    t   ブランク行でない行だけに行番号をつけます。

    n   行番号をつけません。

    pexpr
        expr で指定される基本的正規表現を含む行だけに行番号をつけます。

    論理ページ本文の行についてはデフォルトの type は t です。

-d delim
    入力ファイルの論理ページセクションの開始を指示する区切り記号文字を 指定します。最大 2 文字を指定できます。 また、 1 文字だけ指定した場合には、最初の文字が置換され、 2 番目の文字は そのまま変わりません。 デフォルトの delim 文字は “\:” です。

-f type
    論理ページフッタの行に対すること以外は -b type と同じ指定です。 論理ページフッタの行についてはデフォルトの type は n です。

-h type
    論理ページヘッダの行に対すること以外は -b type と同じ指定です。 論理ページヘッダの行についてはデフォルトの type は n です。

-i incr
    論理ページの行に行番号をつけるための増分値を指定します。 デフォルトの incr の値は 1 です。

-l num
    いずれかの論理セクションについて、対応する -b a, -f a, -h a オプションを用いて行全部に行番号をつけることを指定した場合に、 1 行と 見なすべき隣接するブランク行の行数を指定します。 例えば、 -l 2 は隣接する 2 番目のブランク行だけに行番号をつけます。 デフォルトの num の値は 1 です。

-n format
    行番号の出力形式を指定します。 認識される引数 format は以下のとおりです。
    ln  左詰します。
    rn  右詰します。先行 0 は 0 抑制されます。
    rz  右詰します。先行 0 は残されます。

    デフォルトの format は rn です。

-p  行番号付けは論理ページ区切り記号で再スタートしないことを指定します。

-s sep
    行番号と対応するテキスト行を分離する文字を指定します。 sep のデフォルトの設定は単一のタブ文字です。

-v startnum
    論理ページの行に行番号をつけるときに使う初期値を指定します。 関連項目は -p オプションの解説です。 デフォルトの startnum の値は 1 です。

-w width
    行番号が占有する文字数を指定します。 width が不充分で行番号を収容しきれない場合には、行番号は最下位側 width 桁の数字に切り詰められます。 デフォルトの width は 6 です。

環境変数
environ(7) に記述されているように、 LANG, LC_ALL, LC_CTYPE, LC_COLLATE 環境変数は nl の実行に影響を及ぼします。

診断

関連項目
jot(1), pr(1)

規格
nl ユーティリティは、 p1003.1-2001 に適合しています。

歴史
この nl ユーティリティは AT&T UNIX ではじめて登場しました。