ブログ

行番号を付けてファイルの中身を表示する方法

at_shiita.ishigaki
2022年1月27日 9時27分

行番号を付けてファイルの中身を表示するにはnlコマンドを使用します。
nlコマンドはcatコマンドで行番号を表示するよりも、行番号を0埋めすることや、最初の行番号を指定する等の細かい設定を行うことができます。

[armadillo ~]# cat << EOF > a.txt
hoge
fuga
 
 
piyo
EOF
[armadillo ~]# nl a.txt
     1  hoge
     2  fuga
 
 
     3  piyo

改行のみの行に番号を付けるには-b aオプションを使用します。

[armadillo ~]#  nl -b a a.txt 
     1  hoge
     2  fuga
     3
     4
     5  piyo

指定した文字が含まれている行のみに番号を付ける場合は-b pオプションを使用します。
※ここでは例として、fuが含まれている行のみに番号を付けて表示します。

[armadillo ~]# nl -b pfu a.txt 
       hoge
     1  fuga
 
 
       piyo

先頭を0埋めするには-n rzオプションを使用します。また、先頭からの文字数を指定するには-wオプションを使用します。

[armadillo ~]# nl -n rz a.txt 
000001  hoge
000002  fuga
 
 
000003  piyo
[armadillo ~]# nl -n rz -w 3 a.txt 
001     hoge
002     fuga
 
 
003     piyo

最初の行番号を指定するには-vオプションを使用します。

[armadillo ~]# nl -v 100 a.txt 
   100  hoge
   101  fuga
 
 
   102  piyo