Nl (UNIX)

nlコマンドは、Unixオペレーティングシステムにおいて、ファイルの内容や標準入力から受け取ったテキストに行番号を付与して標準出力に表示するコマンドです。このコマンドは、テキストファイルの内容を可読性を高めるために行番号を付加したり、他のコマンドの出力を加工する際に役立ちます。

歴史



nlコマンドは、System V release 2で初めて登場しました。1987年の第2版以降、X/Open Portability Guideの一部となり、その後POSIX.1やSingle UNIX Specificationなどの標準にも組み込まれ、現在に至るまで広く利用されています。
GNU coreutilsに含まれるnlコマンドは、Scott BartramとDavid MacKenzieによって実装されました。

機能と使い方



nlコマンドは、基本的な動作として、入力されたテキストの各行の先頭に行番号を付与します。行番号はデフォルトでは右詰めで表示され、設定によって表示形式を変更することも可能です。ファイル名を指定して実行することで、そのファイルの内容に行番号を付加して出力することができます。また、パイプを使用して他のコマンドの出力をnlコマンドに渡すことも可能です。

例えば、以下のコマンドは`filename`というファイルの内容に行番号を付加して表示します。
bash
nl filename

また、以下のようにpsコマンドの出力をnlコマンドに渡すことで、psコマンドの結果に行番号を付加して表示することができます。
bash
ps aux | nl


さらに、特定のパターンにマッチする行のみに行番号を付与することも可能です。例えば、次のコマンドは、行頭が文字Aで始まる行のみに行番号を付加して表示します。これは、grepコマンドと組み合わせることで実現できます。
bash
grep '^A' filename | nl

この例では、grepコマンドで'A'から始まる行を抽出し、その結果をnlコマンドで処理しています。nlコマンドは、grep -n のように、行番号を表示したい場合に代替として利用できます。

関連コマンド



nlコマンドと関連性の高いコマンドとして、以下のようなものがあります。

wc (Unix)
テキストファイルの行数、単語数、バイト数をカウントするコマンドです。nlコマンドがテキストに行番号を付与するのに対し、wcコマンドはテキストの統計情報を表示します。
cat (Unix)
ファイルを連結して標準出力に表示するコマンドです。catコマンドはファイルの内容を表示する基本的なコマンドですが、cat -n のように実行することで、nlコマンドと同様に行番号付きで表示する実装もあります。


まとめ



nlコマンドは、テキストファイルやコマンドの出力に行番号を付加するためのシンプルなコマンドですが、テキストデータの処理やデバッグにおいて非常に有用です。標準入力からパイプを通じてデータを受け取ることができるため、他のコマンドと組み合わせて柔軟に活用できます。grepコマンドと組み合わせることで、特定パターンにマッチする行のみに番号を振るなど、応用的な使い方も可能です。テキストデータの可読性を高めたり、行を特定する際に、nlコマンドは非常に便利なツールと言えるでしょう。


UNIX%E3%83%A6%E3%83%BC%E3%83%86%E3%82%A3%E3%83%AA%E3%83%86%E3%82%A3%E3%81%AE%E4%B8%80%E8%A6%A7'>UNIXユーティリティの一覧

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。