Linux, コマンド · 1 min read · Sep 14, 2025
初心者のためのLinux nlコマンドチュートリアル(7つの例)
Linuxは多くのテキストフォーマットコマンドラインツールを提供しており、それぞれ異なる目的があります。その中の1つがnlで、ファイル内の行に番号を付けることができます。このチュートリアルでは、いくつかのわかりやすい例を使ってこのコマンドの基本を説明します。
しかし、その前に、このチュートリアルで使用されるすべての例は、Ubuntu 16.04 LTSシステムでテストされていることを言及しておく価値があります。
Linux nlコマンド
前述のように、nlコマンドはファイル内の行に番号を付けます。以下がその構文です:
nl [OPTION]... [FILE]...そして、manページでは次のように説明されています:
各FILEを標準出力に書き込み、行番号を追加します。FILEが指定されていない場合、またはFILEが-の場合は、標準入力を読み取ります。以下は、nlの動作をよりよく理解するためのQ&Aスタイルの例です。
Q1. nlコマンドの使い方は?
nlの基本的な使い方は非常に簡単です。行に番号を付けたいファイルの名前を引数として渡すだけです。
nl [filename]以下はその例です:

Q2. 空行に番号を付けるには?
デフォルトでは、nlコマンドは空行に番号を付けません:

しかし、必要であれば、-bコマンドラインオプションに値’a’を渡すことでこの動作を変更できます。
nl -b a [filename]
Q3. 番号のインクリメント値をカスタマイズするには?
デフォルトでは、番号のインクリメント値は1です。しかし、-iコマンドラインオプションを使用してこれをカスタマイズできます。
nl -i [new-inc-val] [filename]例えば:

Q4. nlが複数の空行を1つとして扱うようにするには?
これには、-lコマンドラインオプションを使用します。manページでは次のように説明されています:
NUMBER(デフォルトは1)連続する空行を1つの論理行として扱い、最後の行のみを番号付けします。NUMBER未満の連続する空行が発生した場合、それらには番号を付けません。空行とは、文字が含まれていない行であり、スペースやタブも含まれません。例えば、次のファイルを考えてみましょう:

そして、nlが8つの連続する空行を番号付けのために1つの論理行として扱うようにしたいとします。その場合、実行するコマンドは次のようになります:
nl -b a -l 8 [filename]
Q5. 異なる番号付け形式を使用するには?
-nコマンドラインオプションを使用して番号付け形式を指定できます。利用可能なオプションには、左揃え、右揃え、先頭にゼロを付けた右揃えがあります。これらはln、rn、rzの値を使用してアクセスできます。
以下は、これらすべての形式を示す例です:

Q6. カスタマイズされた番号区切り文字を使用するには?
デフォルトでは、番号と行を区切る文字はTABです。しかし、必要であれば、-sコマンドラインオプションを使用してこれをカスタマイズできます。このオプションには新しい区切り文字を入力として要求します。
例えば、ダブルコロン(::)を新しい区切り文字として使用したい場合、次のようにできます:
nl -s :: [filename]
Q7. nlが異なる開始行番号を使用するようにするには?
デフォルトでは、番号付けは1から始まります。しかし、-vコマンドラインオプションを使用してこれを変更できます。以下のようにします:
nl -v [new-start-number] [filename]
結論
nlコマンドは理解しやすく、使いやすいです。このチュートリアルでは、提供されるコマンドラインオプションの大部分をカバーしました。これらの練習が終わったら、ツールのmanページにアクセスしてさらに学んでください。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。