【コマンド詳細】nlコマンドの使い方とオプションまとめ

  • URLをコピーしました!
目次

nlコマンドとは?

nlコマンドは、Linuxでテキストファイルの内容に行番号を付けて出力するためのコマンドです。
指定した形式で行番号をカスタマイズでき、スクリプトやログファイルの整備に役立ちます。

📌 他のLinuxコマンドもまとめて確認したい方へ
ファイル操作・検索・テキスト処理など用途別に整理した総合まとめはこちら。
Linuxコマンドまとめページ

基本構文

nl [オプション] [ファイル]
  • [オプション]: 行番号の設定やフォーマットをカスタマイズするためのオプション。
  • [ファイル]: 行番号を付ける対象のテキストファイル。省略すると標準入力を利用。

主なオプション一覧

オプション説明
-b TYPE行番号を付ける基準を設定(例: 空行を除外)。
-n FORMAT行番号のフォーマットを指定(例: 右寄せ、左寄せなど)。
-w NUMBER行番号の桁数を指定。
-s STRING行番号とテキストの間に挿入する文字列を指定。
-v NUMBER行番号の開始値を指定。
-i NUMBER行番号の増分を指定。

各オプションの実行例と結果

1. 基本的な行番号の付与

nl sample.txt
内容 (sample.txt)
This is line 1.
This is line 2.

This is line 3.
出力結果
     1  This is line 1.
     2  This is line 2.

     3  This is line 3.

2. 空行を除外して番号を付与 (-b t)

nl -b t sample.txt
出力結果
     1  This is line 1.
     2  This is line 2.
     3  This is line 3.

3. 行番号のフォーマットを左寄せに設定 (-n l)

nl -n l sample.txt
出力結果
1      This is line 1.
2      This is line 2.

3      This is line 3.

4. 行番号の桁数を設定 (-w 4)

nl -w 4 sample.txt
出力結果
   0001  This is line 1.
   0002  This is line 2.

   0003  This is line 3.

5. 行番号とテキストの間にカスタム文字列を挿入 (-s)

nl -s ' -> ' sample.txt
出力結果
     1 -> This is line 1.
     2 -> This is line 2.

     3 -> This is line 3.

6. 行番号の開始値と増分を設定 (-v-i)

nl -v 10 -i 5 sample.txt
出力結果
    10  This is line 1.
    15  This is line 2.

    20  This is line 3.

実用例

ログファイルの整理

ログファイルに行番号を追加し、特定のエラー行を容易に特定します。

nl /var/log/syslog | grep "error"

スクリプトのデバッグ

スクリプトファイルに行番号を付け、エラー行を確認しやすくします。

nl -b t script.sh

注意点

  1. デフォルトの動作: 空行も番号を付与します。空行を無視したい場合は-b tを使用してください。
  2. 大規模ファイル: 行番号の増分やフォーマットを適切に設定し、大規模なファイルでの使用時の可読性を向上させることが重要です。

まとめ

nlコマンドは、行番号を付けるだけでなく、行番号のカスタマイズやフォーマット変更が可能な強力なツールです。
ログ管理やスクリプト作成時に活用し、作業効率を向上させましょう。

LPIC Lv1準拠!Linuxコマンド演習(基礎編)Vol.1【全10問】

厳選された100問のコマンド問題から、毎回ランダムで10問を出題。
挑戦するたびに新しい問題に出会えるので、真の実力が試されます。

1 / 10

ログインユーザーが現在使用しているシェルのプロセスIDを確認する変数は?

2 / 10

連続した重複行を1行にまとめるコマンド(事前にsortが必要)は?

3 / 10

テキストファイルの先頭からデフォルトで10行を表示するコマンドは?

4 / 10

ファイルの「所有グループ」を変更する専用のコマンドは?

5 / 10

ファイルの「種類」(テキスト、バイナリ、実行ファイル等)を確認するコマンドは?

6 / 10

RPMパッケージをインストールする際に、詳細情報を表示し、進行状況を「#」で表示するオプションは?

7 / 10

ユーザーのパスワードを変更するコマンドは?

8 / 10

ファイルのiノード番号を表示するためのlsコマンドのオプションは?

9 / 10

テキストファイルの内容を、行番号付きで表示するコマンドは?

10 / 10

ログアウトした後も、コマンドを継続して実行させ続けるコマンドは?

あなたのスコアは

平均スコアは 57%

0%

目次