ホーム > テキスト処理・検索 > nl

nl: ファイルの行番号付け

nlコマンドは、ファイルの各行に番号を付けて標準出力に出力します。空行を含めるかどうか、番号の形式、区切り文字などを様々なオプションで制御できるため、ログファイルの分析やコードレビュー時に役立ちます。

概要

nlは、標準入力または指定されたファイルの各行に番号を付けて標準出力に出力します。テキストファイルの可読性を高めたり、特定の行を参照したりする際に主に使用されます。

主な機能

  • ファイル行番号付け
  • 空行の番号付け制御
  • 番号形式と区切り文字のカスタマイズ
  • ヘッダー/ボディ/フッター領域ごとの番号付け設定

主なオプション

nlコマンドの主なオプションは、行番号付けの方法、形式、および区切り文字を制御するために使用されます。

行番号付けの方法

番号形式と区切り文字

生成されたコマンド:

コマンドを組み合わせてみてください。

説明:

`nl` コマンドを実行します。

これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。

使用例

nlコマンドの様々な活用例を通じて、ファイルの行番号を効果的に付ける方法を学びます。

基本的な行番号付け

echo -e 'Line 1\n\nLine 3' | nl

ファイルのすべての行に番号を付けます。(デフォルトの動作)

空でない行にのみ番号を付ける

echo -e 'Line 1\n\nLine 3' | nl -b t

内容がある行にのみ番号を付け、空行はスキップします。

カスタム区切り文字の使用

echo -e 'First line\nSecond line' | nl -s ' -> '

行番号とテキストの間に特定の文字列を区切り文字として使用します。

行番号の幅と形式の指定

echo -e 'Line 1\nLine 10\nLine 100' | nl -w 3 -n rz

行番号の最小幅を3に設定し、右揃えでゼロ埋めします。

正規表現に一致する行のみ番号を付ける

echo -e 'Line 1\nAnother line\nLine 2' | nl -b p'^Line'

特定の正規表現(`^Line`)に一致する行にのみ番号を付けます。

ヒントと注意点

nlコマンドをより効果的に使用するためのヒントと注意点です。

活用ヒント

  • 他のテキスト処理コマンド(例: `grep`, `sed`, `awk`)とパイプ(|)で接続して、特定の条件の行にのみ番号を付けたり、番号が付けられたファイルで追加の処理を行ったりできます。
  • デフォルトでは、`nl`はタブ文字を区切り文字として使用するため、ターミナルの設定によって行番号とテキストの間の間隔が異なって見えることがあります。「-s」オプションで明示的な区切り文字を使用することをお勧めします。
  • 「-b pREGEX」オプションを使用する場合、正規表現は基本正規表現(BRE)の構文に従います。拡張正規表現(ERE)を使用したい場合は、`nl`の代わりに`grep -n`または`awk`を検討できます。

同じカテゴリのコマンド