テキストファイルに行番号を付けるには

行番号を付ける目的のnlコマンドのほかに、 catコマンドlessコマンドでもできる。

以下のようなテキストファイルがあったとする。

$ cat foo.txt
abc
def
ABC

abc

nlコマンドでは

$ nl foo.txt
     1  abc
     2  def
     3  ABC

     4  abc

nl -b aでは

$ nl -b a foo.txt
     1  abc
     2  def
     3  ABC
     4
     5  abc

cat -n では

$ cat -n foo.txt
     1  abc
     2  def
     3  ABC
     4
     5  abc

cat -b では

$ cat -b foo.txt
     1  abc
     2  def
     3  ABC

     4  abc

less -N では

$ less -N foo.txt
      1 abc
      2 def
      3 ABC
      4
      5 abc

いずれも行番号は1から始まる。

行番号を0から始めるには、lesscat での方法がわからないので、自分は

$ cat foo.txt | perl -nle 'print "".($.-1)." $_"' | less

またはawkを使って

$ cat foo.txt | awk '{print NR-1 " " $0;}' | less

としている。

このサイトは筆者(hydrocul)の個人メモの集合です。すべてのページは永遠に未完成です。
スポンサーリンク