.\" %FreeBSD: src/usr.bin/nl/nl.1,v 1.13.2.1 2005/02/26 13:44:04 brueffer Exp % .\" .\" Copyright (c) 1999 The NetBSD Foundation, Inc. .\" All rights reserved. .\" .\" This code is derived from software contributed to The NetBSD Foundation .\" by Klaus Klein. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the NetBSD .\" Foundation, Inc. and its contributors. .\" 4. Neither the name of The NetBSD Foundation nor the names of its .\" contributors may be used to endorse or promote products derived .\" from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED .\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR .\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" .\" $FreeBSD$ .Dd July 13, 2004 .Dt NL 1 .Os .Sh 名称 .Nm nl .Nd 行番号生成フィルタ .Sh 書式 .Nm .Op Fl p .Bk -words .Op Fl b Ar type .Ek .Bk -words .Op Fl d Ar delim .Ek .Bk -words .Op Fl f Ar type .Ek .Bk -words .Op Fl h Ar type .Ek .Bk -words .Op Fl i Ar incr .Ek .Bk -words .Op Fl l Ar num .Ek .Bk -words .Op Fl n Ar format .Ek .Bk -words .Op Fl s Ar sep .Ek .Bk -words .Op Fl v Ar startnum .Ek .Bk -words .Op Fl w Ar width .Ek .Op Ar file .Sh 解説 .Nm ユーティリティは指定された .Ar file から、また .Ar file 引数が省略されている場合には標準入力から行を読み取り、 設定可能な行番号を生成添付するフィルタ処理を行い、 結果を標準出力に書き込みます。 .Pp .Nm ユーティリティは読み取るテキストを論理ページ単位で処理します。 特別に指定しない場合には、各論理ページの最初で行番号はリセットされます。 論理ページはヘッダ、本文、フッタで構成されます。 またブランクセクションでも有効です。ヘッダ、本文、フッタの 各セクションについて個別に行番号生成オプションを使い分けられます。 .Pp 以下のような区切り記号文字並びのうちの一つだけからなる入力行が 論理ページセクション開始の合図となります。 .Pp .Bl -column "\e:\e:\e:" "start of section" -offset indent .Em "行 開始セクション" .It "\e:\e:\e: ヘッダ" .It "\e:\e: 本文" .It "\e: フッタ" .El .Pp 入力に論理ページセクションの合図となる宣言子が存在しない場合には、 読み取り中のテキストは単一の論理ページ本文であると仮定されます。 .Pp 以下のようなオプションが使用できます。 .Bl -tag -width ".Fl v Ar startnum" .It Fl b Ar type 論理ページ本文の行に行番号をつけることを指定します。 認識される引数 .Ar type は以下のとおりです。 .Bl -tag -width indent .It Cm a 行全部に行番号をつけます。 .It Cm t ブランク行でない行だけに行番号をつけます。 .It Cm n 行番号をつけません。 .It Cm p Ns Ar expr .Ar expr で指定される基本的正規表現を含む行だけに行番号をつけます。 .El .Pp 論理ページ本文の行についてはデフォルトの .Ar type は .Cm t です。 .It Fl d Ar delim 入力ファイルの論理ページセクションの開始を指示する区切り記号文字を 指定します。最大 2 文字を指定できます。 また、 1 文字だけ指定した場合には、最初の文字が置換され、 2 番目の文字は そのまま変わりません。 デフォルトの .Ar delim 文字は .Dq Li \e: です。 .It Fl f Ar type 論理ページフッタの行に対すること以外は .Fl b Ar type と同じ指定です。 論理ページフッタの行についてはデフォルトの .Ar type は .Cm n です。 .It Fl h Ar type 論理ページヘッダの行に対すること以外は .Fl b Ar type と同じ指定です。 論理ページヘッダの行についてはデフォルトの .Ar type は .Cm n です。 .It Fl i Ar incr 論理ページの行に行番号をつけるための増分値を指定します。 デフォルトの .Ar incr の値は 1 です。 .It Fl l Ar num いずれかの論理セクションについて、対応する .Fl b Cm a , .Fl f Cm a , .Fl h Cm a オプションを用いて行全部に行番号をつけることを指定した場合に、 1 行と 見なすべき隣接するブランク行の行数を指定します。 例えば、 .Fl l 2 は隣接する 2 番目のブランク行だけに行番号をつけます。 デフォルトの .Ar num の値は 1 です。 .It Fl n Ar format 行番号の出力形式を指定します。 認識される引数 .Ar format は以下のとおりです。 .Bl -tag -width indent -compact .It Cm ln 左詰します。 .It Cm rn 右詰します。先行 0 は 0 抑制されます。 .It Cm rz 右詰します。先行 0 は残されます。 .El .Pp デフォルトの .Ar format は .Cm rn です。 .It Fl p 行番号付けは論理ページ区切り記号で再スタートしないことを指定します。 .It Fl s Ar sep 行番号と対応するテキスト行を分離する文字を指定します。 .Ar sep のデフォルトの設定は単一のタブ文字です。 .It Fl v Ar startnum 論理ページの行に行番号をつけるときに使う初期値を指定します。 関連項目は .Fl p オプションの解説です。 デフォルトの .Ar startnum の値は 1 です。 .It Fl w Ar width 行番号が占有する文字数を指定します。 .Ar width が不充分で行番号を収容しきれない場合には、行番号は最下位側 .Ar width 桁の数字に切り詰められます。 デフォルトの .Ar width は 6 です。 .El .Sh 環境変数 .Xr environ 7 に記述されているように、 .Ev LANG , LC_ALL , LC_CTYPE , LC_COLLATE 環境変数は .Nm の実行に影響を及ぼします。 .Sh 診断 .Ex -std .Sh 関連項目 .Xr jot 1 , .Xr pr 1 .Sh 規格 .Nm ユーティリティは、 .St -p1003.1-2001 に適合しています。 .Sh 歴史 この .Nm ユーティリティは .At V.2 ではじめて登場しました。 .\"Trans: Tetsuro Furuya (古谷 哲郎) .\"Trans-check: Kazuo Horikawa (堀川 和雄)