cat -n by awk ― 2010年11月20日 13時19分33秒
cat -n
を書式も含めて合わせる。od で書式を調べてみる。
% cat -n | od -c
1
0000000 1 \t 1 \n
0000011
% cat -n | od -X
1
0000000 20202020 31093120 0000000a
0000011
五桁の行数の次にタブ、そして入力行と続くようだ。
awk での書式指定は
print 文は改行なども自動で入れてくれるが、printf 文は書式に指定された様にしか出力を行なわない。自分で明示的に
print と printf 文に代表される print 文は変わっていて、引数には括弧を付けても、付けなくてもいい。例えば、
例。
今回の要点。
printf 文
を使う。awk の printf 文はいわゆる C 言語の printf 文とほぼ同じ書式を受け付ける。第一引数は書式。そして、その後に書式に指定された分だけ余計に引数が読まれる。
\n
と改行を入れる必要がある。print 文から printf に書き変えた時に、忘れやすい。
print "abc"
と print("abc")
は同じになる。他の関数の場合は、括弧を付けなければいけない。
これで、出力の書式も含めて同じになった。
% nawk '{printf("%5d\t%s\n", NR, $0)}'
1
1 1
% cat -n
1
1 1
%
printf "書式", 引数
print
と printf
の比較
最近のコメント