nlコマンドは入力されたテキストに行番号をつけるコマンドです。
bannerコマンドの出力に行番号をつけてみます。
~$ banner A | nl
1 #
2 # #
3 # #
4 # #
5 #######
6 # #
7 # #
~$
各行に行番号が付与されました。
一方catコマンドは-nオプションをつけることによって、行番号をつけるフィルタになります。
nlコマンドで行うフィルタと何が違うでしょうか。
~$ banner A | cat -n
1 #
2 # #
3 # #
4 # #
5 #######
6 # #
7 # #
8
~$
nlと異なり、8行目の行番号も表示されました。
つまり、空行にも行番号が付与されました。
次は、表示する文字を変えてもう一度nlの結果を確認してみます。
~$ banner = | nl
1 #####
2 #####
~$
やはり、nlはオプションを指定せずに使用すると、
文字が存在する行のみ行番号を付与するようです。
cat -nと同じ表示にするには、-baオプションをつけます。
~$ banner = | nl -ba
1
2
3 #####
4
5 #####
6
7
8
~$


コメント