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).
終了ステータスのゼロは成功を示し,ゼロ以外の値は失敗を示します.