2018/10/04

awkでフィールド区切り文字が無くなるのは、そういうもの?

awkでスクリプトを作っていて気付いたのですが、フィールドの内容を変更すると、FSで指定したフィールド区切り文字が消えてしまいます。例えば以下のような場合です。
% echo 'A:B:C' | awk -F: '{$2 = "Z"; print $0}'
A Z C
OFSを指定しておけば、とりあえず思っていたような結果が得られますが、すっきりしません。
% echo 'A:B:C' | awk -F: -vOFS=: '{$2 = "Z"; print $0}'
A:Z:C
awkが上述したような動作をするのは、「仕様」ということなのでしょうか。

0 件のコメント:

コメントを投稿