awk > 区切り文字の指定

更新日 2015-09-05
広告

awkは、デフォルトで、一行を空白(スペース)で区切ります。したがって、カンマで区切られたファイル(CSVファイル)を扱うためには、区切り文字を指定する必要があります。

以下のCSVファイル(sample.dat)を扱う例を示します。

1,10,100
2,20,200
3,30,300
区切り文字の指定は、-F オプションで可能です。
$ awk -F',' '{ print $1" "$2" "$3; }' sample.dat
1 10 100
2 20 200
3 30 300

-Fオプションでカンマ(,)を指定することで、各行を三列に区切ることができました。

ちなみに、出力時の区切り文字を指定することもできます。OFS変数を指定します。

awk 'BEGIN {OFS=","} {print $2,$3}' sample.dat

これで、$2と$3の間に、自動的にカンマを挿入して出力できます。

広告
お問い合わせは sweng.tips@gmail.com まで。
inserted by FC2 system