1

awkで文字列を操作したい。

今私が使用しているawkの現在の記録を見るために$0、これはうまくいきます:

echo "foobar" | awk -v FS="" '{print $0 }'

私の出力は

foobar

次に、2 番目の文字を 5 番目の文字に置き換えたいと思います。

echo "foobar" | awk -v FS="" '{$2=$5; print $0 }'

動作しますが、各文字の後にスペースを追加します:

f a o b a r

だから私の質問は、各文字の後に awk がスペースを追加する理由と、それを正しく行う方法です。

4

1 に答える 1

2

OFS (出力フィールド区切り記号) を空に設定します。

$ echo "foobar" | awk -v FS="" '{$2=$5; print $0 }' OFS=""
faobar
于 2013-01-13T15:16:34.313 に答える