シェルスクリプトを書いていると区切り文字をカンマに変更して実行したい場合がありますよね。
入力ファイルとしてCSVファイルが対象の場合とか…。
以下、awkの区切り文字をカンマ変更方法を記述します。
以下のようなCSVファイルを対象として以下にawkの区切り文字をカンマに変更し実行した例を記述します。
$ cat data.csv 1,japan,日本,tokyo,東京 2,america,アメリカ,washington D.C.,ワシントン 3,china,中国,beijing,北京
$ awk -F , '{ print $1, $3, $5; }' data.csv
1 日本 東京
2 アメリカ ワシントン
3 中国 北京
$ awk -F , '{ print $1, $2, $4; }' data.csv
1 japan tokyo
2 america washington D.C.
3 china beijing
$ awk 'BEGIN { FS=","; } { print $1, $3, $5; }' data.csv
1 日本 東京
2 アメリカ ワシントン
3 中国 北京
$ awk 'BEGIN { FS=","; } { print $1, $2, $4; }' data.csv
1 japan tokyo
2 america washington D.C.
3 china beijing