nl コマンド

目的

ファイル内の行に番号を付けます。

構文

nl [ -b Type ] [ -f Type ] [ -h Type ] [ -l Number ] [ -d Delimiter ] [ -i Number ] [ -n ] [ -v 数値 ] [ -w 数値 ] [ -p ] [ -s Separator ] [ File ]

説明

nl コマンドは、File パラメーター (デフォルトでは標準入力) を読み取り、入力データ内の各行に番号を付けて、その番号付き行を標準出力に書き出します。 出力では、nl コマンドはコマンド・ラインで指定されたフラグに従って行の左端に番号を付けます。

入力テキストは論理ページに書き込む必要があります。 各論理ページはヘッダー、本文、フッター部から構成されます (いずれかの部分に入力がなくてもかまいません)。 -p フラグを使用しない限り、 nl コマンドは、各論理ページの先頭の行番号をリセットします。 行番号付けフラグは、ヘッダー、本文、 フッター部とは独立して設定できます (例えば、ヘッダーおよびフッター行に番号を付け、テキスト行には付けないようにできます)。

ファイル内では、次の区切り文字のみが入っている行を使って、 論理ページの各部分の先頭を示すシグナルを送ります。

行の内容 先頭
\:\:\: ヘッダー
\:\: 本文
\: フッター

コマンド・ラインではファイルを 1 つしか指定できません。 フラグとファイル名はどんな順序ででもリストできます。

フラグ

デフォルトではすべてのパラメーターが設定されます。 デフォルトの設定を変更する場合は、次のフラグを使用します。 -s フラグを除き、デフォルト値を表示させるには変数を指定しないで -n フラグを入力します。

項目 説明
-b タイプ 番号を付ける本文の行を選択します。 Type 変数に指定できる値は次のとおりです。
a
すべての行に番号を付けます。
t
ブランク行や、タブなどの非グラフィック文字を含む行には番号を付けません。 (デフォルト)
n
どの行にも番号を付けません。
pパターン
Pattern 変数で指定された行のみに番号を付けます。
-d 区切り文字 論理ページ部の始めの区切り文字として Delimiter 変数で指定した 2 文字を使用します。 デフォルトの区切り文字は ¥: (円記号、コロン) です。 ASCII 文字 2 文字、1 バイト拡張文字 2 文字、 または拡張文字 1 文字を指定できます。 -d フラグの後に 1 バイト文字を 1 つだけ入力すると、 2 番目の文字はデフォルト (コロン) のままになります。 円記号を区切り文字として使用する場合は円記号を 2 つ (¥¥) 入力します。
-f タイプ 番号を付ける論理ページのフッターの行を選択します。 Type 変数に指定できる値は、 -b フラグの値と同じです。 Type 変数のデフォルト値は n です (行番号を付けない)。
-h タイプ 番号を付ける論理ページのヘッダーの行を選択します。 Type 変数に指定できる値は、 -b フラグの値と同じです。 Type 変数のデフォルト値は n です (行番号を付けない)。
-i 数値 論理ページの行番号を Number 変数に指定した数だけ増分します。 Number 変数のデフォルト値は 1 です。 Number 変数の範囲は、1 から 250 です。
-l 番号 (L の小文字) Number パラメーターに指定した値の連続するブランク行数を、ブランク行の 1 行分として数える数として使用します。 例:-l3連続する 3 番目のブランク行ごとに番号が付けられます。 Number 変数のデフォルト値は 1 です。 このフラグは、 -ha-ba、または -fa オプションが設定されている場合に機能します。 Number 変数の範囲は、1 から 250 です。
-n フォーマット Format に指定した値を行番号付けフォーマットとして使用します。 指定できる値は次のとおりです。
ln
左に揃い、先行ゼロが抑制されます。
rn
右に揃い、先行ゼロが抑制されます (デフォルト)。
RZ
右に揃い、先行ゼロはそのままになります。
-p (-p) 論理ページ区切り文字の位置で番号付けを再開しません。
-s 区切り文字 Separator 変数で指定した文字でテキストと行番号を区切ります。 Separator 変数のデフォルト値はタブ文字です。
-v 数値 論理ページの初期行番号を、Number 変数に指定した値に設定します。 Number 変数のデフォルト値は 1 です。 Number 変数の範囲は、0 から 32767 です。
-w 数値 Number 変数に指定した値を行番号の文字数として設定します。 Number 変数のデフォルト値は 6 です。 Number 変数の範囲は 1 から 20 です。

終了状況

このコマンドは、以下の終了値を戻します。

項目 説明
0 正常終了。
>0 エラーが発生しました。

  1. 非ブランク行だけに番号を付けるには、次のように入力します。
    nl  chap1
    以下の番号付きリストが表示されます。chap1本文セクション内の非ブランク行のみに番号を付けます。 指定する場合は、chap1区切り文字 \:\:\ +: または \: が含まれていない場合は、ファイル全体が本文と見なされます。
  2. すべての行に番号を付けます。
    nl  -ba  chap1
    ここでは、ブランク行を含めて本文中のすべての行に番号が付けられます。 ほとんどの場合は、このフォーマットの nl コマンドで十分です。
  3. 別の行番号形式を指定するには、次のように入力します。
    nl  -i10  -nrz  -s::  -v10  -w4  chap1
    これは、次の行に番号を付けます。chap110 で始まる (-v10) 数えて数えています (-i10)。 数値ごとに 4 桁が表示されます (-w4)、先行ゼロ (-nrz)。 行番号とテキストは、次の 2 つのコロンで区切られます。-s : :).

    例えば、chap1次のテキストが含まれます。

    A  not-so-important
    note  to  remember:
     
    You  can't  kill  time
    without  injuring  eternity.
    番号付きリストは次のようになります。
    0010::A  not-so-important
    0020::note  to  remember
     
    0030::You  can't  kill  time
    0040::without  injuring  eternity.
    ブランク行には番号が付いていないことに注意してください。 これを行うには、例 2 に示すように、 -ba フラグを使用します。

ファイル

項目 説明
/usr/bin/nl nl コマンドを含みます。