cat -n 劣化版 by awk2010年11月18日 12時13分35秒

cat はファイルを出力するのが基本だが、若干のオプションもある。-n を付けることにより、各行番号を付けることが出来る。

awk も個々の行番号を示す NR 変数が存在する。これを用いると cat -n とほぼ同じことが簡単に出来る。

print だけの式だと入力行を出力するが、print NR と引数を渡すと、これが無効になる。その為、自ら各行をしっかりと出力する必要がある。

awk では $0 が現在の行全体を指す。print $0;print; と同じことが出来る。

また、print 文では複数の引数をカンマで区切って渡すことが出来る。各々の引数の間には、空白が入れられる。

例。


% cat -n
a
     1  a
b
     2  b
c
     3  c
% awk '{print NR, $0}'
a
1 a
b
2 b
c
3 c

書式は違うが行数を付けることが出来た。

今回の要点。

  1. NR
  2. print $0
  3. print "1", "2"