次: , 前: tac invocation, 上: Output of entire files


3.3 nl: 行に番号を付けファイルに書き込む

nlは,それぞれのfile(`-'は標準入力を意味します)や, 与えられない場合は標準入力を,いくつかの行または全ての行に行番号を加え て標準出力へ書き出します.概要です.

     nl [option]... [file]...

nlは,入力を(論理)ページに分解します.デフォルトで,それぞれ の論理ページのトップで,行番号が1にリセットされます.nlは全 ての入力ファイルを単一のドキュメントとして扱います.行番号や論理ページ をファイル間でリセットしません.

論理ページは三つのセクションから成立ちます.ヘッダ,ボディ,そしてフッ タです.任意のセクションを空にすることも可能です.それぞれ異なるスタイ ルで番号を付けることが可能です.

論理ページのセクションの最初は,以下のデリミタ文字列の一つを入力ファイ ルに単一行で含めることで示されます.

`\:\:\:'
ヘッダの始まり.
`\:\:'
ボディの始まり.
`\:'
フッタの始まり.

これらの文字列を構成する二つの文字を,`\'と`:'から変更するこ とはオプション(以下を参照)で可能ですが,パターンと文字列の長さの変更は 不可能です.

セクションデリミタは,出力では空行に置換されます.入力ファイルの,最初 のセクションのデリミタ文字列より前のあらゆるテキストは,ボディセクショ ンの一部と考えられるので,nlは,セクションデリミタが無いファ イルを,一つのボディセクションとして扱います.

プログラムは以下のオプションを受け入れます.Common optionsも参照 してください.

`-b style'
`--body-numbering=style'
それぞれの論理ページのボディセクションの行に対する番号付けのスタイルを 選択します.行が番号付けされないとき,現在の行番号は増加しませんが,行 番号と分離する文字列が行に前置されます.スタイルは以下のとおりです.
`a'
全ての行に番号を付けます.
`t'
(デフォルトでボディに対し)空でない行だけ,番号を付けます.
`n'
(デフォルトでヘッダやフッタに対し)番号を付けません.
`pbre'
基本正規表現breにマッチしたものを含む行だけ番号を付けます. See Regular Expressions.

`-d cd'
`--section-delimiter=cd'
セクションを分離する文字をcdに設定します.デフォルトは`\:' です.cのみ与えられた場合,二番目の`:'はそのままです.(シェ ルが展開する`\'やその他のメタ文字を,引用符やバックスラッシュの追 加で保護することを忘れないでください.)
`-f style'
`--footer-numbering=style'
--body-numberingの同類です.
`-h style'
`--header-numbering=style'
--body-numberingの同類です.
`-i number'
`--page-increment=number'
行番号をnumberずつ(デフォルトは1)増加します.
`-l number'
`--join-blank-lines=number'
number(デフォルトは1)連続した空行を,番号付としては一つの論理行 だと考え,最後のものだけに番号付けします.numberより少ない行の連 続した空行があるところでは番号付けをしません.空行とは,文字を含まずス ペースやタグも含まないものです.
`-n format'
`--number-format=format'
行の番号付けの書式を選択します(デフォルトはrnです).
`ln'
左寄せで,先頭にゼロを書きません.
`rn'
右寄せで,先頭にゼロを書きません.
`rz'
右寄せで,先頭にゼロを書きます.

`-p'
`--no-renumber'
論理ページの最初で,行番号をリセットしません.
`-s string'
`--number-separator=string'
出力で,stringを使って(デフォルトはTAB文字)テキスト行と行番号を 分離します.
`-v number'
`--starting-line-number=number'
それぞれの論理ページの行番号の初期値を,number(デフォルトは1)に 設定します.
`-w number'
`--number-width=number'
行番号に,number文字使います(デフォルトは6).

終了ステータスのゼロは成功を示し,ゼロ以外の値は失敗を示します.