このエントリーをはてなブックマークに追加


awkの区切り文字をカンマに変更する

シェルスクリプトを書いていると区切り文字をカンマに変更して実行したい場合がありますよね。
入力ファイルとしてCSVファイルが対象の場合とか…。 以下、awkの区切り文字をカンマ変更方法を記述します。


カンマ区切りに変更してCSVファイルを読みこむ実行例

以下のようなCSVファイルを対象として以下にawkの区切り文字をカンマに変更し実行した例を記述します。

$ cat data.csv 
1,japan,日本,tokyo,東京
2,america,アメリカ,washington D.C.,ワシントン
3,china,中国,beijing,北京

-Fオプションでカンマに変更する

$ 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

フィールドセパレータ(FS)を設定しカンマ区切りに変更する

$ 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

関連資料



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 22:27:08