行番号を付ける nl コマンド

Linux には行番号を付ける nl というコマンドがあります。

行番号付けるだけではないのですが 深く掘り下げた使い方はしません。

[test.txt]

aaaaaaaaa
bbbbbbbbb
ccccccccc
ddddddddd
$ nl test.txt
     1  aaaaaaaaa
     2  bbbbbbbbb
     3  ccccccccc
     4  ddddddddd

こんな感じです。

これくらいなら cat でもできます。

$ cat -n test.txt
     1  aaaaaaaaa
     2  bbbbbbbbb
     3  ccccccccc
     4  ddddddddd

nl はオプションなしだと空行は番号を付けません。

$ nl test.txt
     1  aaaaaaaaa
     2  bbbbbbbbb
        
     3  ddddddddd
     4  eeeeeeeee

空行もにも番号を付ける場合はオプションを指定します。

$ nl -b a test.txt
     1  aaaaaaaaa
     2  bbbbbbbbb
     3
     4  ddddddddd
     5  eeeeeeeee

nl なら簡単に初期値を変えることもできます。

$ nl -v 3 test.txt
     3  aaaaaaaaa
     4  bbbbbbbbb
     5  ccccccccc
     6  ddddddddd

1行ごとの増加値も指定することができます。

$ nl -i 3 test.txt
     1  aaaaaaaaa
     4  bbbbbbbbb
     7  ccccccccc
    10  ddddddddd

awk などでもできなくはないですが 簡単なので覚えておくと便利です。

Google サイト内検索

Amazonアソシエイト