私はbashを使用しています。おおよそ次のような2列のデータを含むCSVファイルがあります
num_logins,day
253,2016-07-01
127,2016-07-02
最初の列と2番目の列を入れ替えたい(日付列を最初の列にする)。だから私はこれを試しました
awk ' { t = $1; $1 = $2; $2 = t; print; } ' /tmp/2016_logins.csv
ただし、結果は同じを出力しています。上記のawkステートメントで、適切に切り替えるために何が欠けていますか?
どうぞ :
awk ' FS="," { print $2 "," $1 } ' sampleData.csv
デフォルトの区切り文字はスペース/タブだからです。カンマではありません。元のコードを取り、-F,
解決します。
$ awk -F, ' { t = $1; $1 = $2; $2 = t; print; } ' /tmp/2016_logins.csv
day num_logins
2016-07-01 253
2016-07-02 127
$
それを{$0=$2" "$1}1
も同じ結果になります。
$ awk -F, '{$0=$2" "$1}1' /tmp/2016_logins.csv
day num_logins
2016-07-01 253
2016-07-02 127
$