nl – 行番号を付与して出力するコマンド

整形・フォーマット

nl コマンドは、テキストファイルや標準入力の各行に自動で行番号を付与して出力するためのコマンドです。
ソースコードやログファイルの一部を確認する際に、行数を見やすくする用途で利用されます。

構文(Syntax)

nl [オプション] [FILE...]

主なオプション一覧

オプション説明使用例
-b aすべての行に番号を付けるnl -b a sample.txt
-b t空行を除いた行に番号を付ける(デフォルト)nl -b t sample.txt
-n ln行番号を左寄せ表示nl -n ln sample.txt
-n rn行番号を右寄せ表示(デフォルト)nl -n rn sample.txt
-n rz行番号を0で埋めて右寄せ表示nl -n rz sample.txt
-w N行番号の桁数を指定nl -w 4 sample.txt
-s STRING行番号とテキストの区切り文字列を指定`nl -s “
-v N行番号の開始値を指定nl -v 10 sample.txt
-i N行番号の増分を指定nl -i 5 sample.txt

実行例

すべての行に番号を付与

nl -b a sample.txt

出力例:

     1  line one
     2
     3  line three

空行を除外して番号を付与(デフォルト)

nl sample.txt

出力例:

     1  line one
     2  line three

行番号を4桁・ゼロ埋めで表示

nl -n rz -w 4 sample.txt

出力例:

0001  line one
0002
0003  line three

区切り文字をカスタマイズ

nl -s " | " sample.txt

出力例:

     1 | line one
     2 |
     3 | line three

エラー例(存在しないファイルを指定)

nl notfound.txt

出力例:

nl: notfound.txt: No such file or directory

関連コマンド

  • cat : ファイル内容を表示する基本コマンド。-n で行番号付き出力も可能。
  • less : ファイルをページ送りで表示。オプションで行番号も表示できる。
  • awk : 行番号を制御しながら出力する処理が可能。

備考

  • GNU Coreutils に含まれるコマンドで、環境によってはオプションが異なる場合があります(BSD系では挙動が異なる)。
  • 一般ユーザー権限で利用でき、特別な権限は不要です。
  • /etc/passwd などのシステムファイルを読む際も、読み取り権限さえあれば nl で行番号付きで出力可能です。

参考

Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする

コメント