いくつかの計算機能を実行する端末にawkスクリプトがあります。
awk '{ a[$2]++ }END{ for(i in a) printf "%-15s%s\n",i,a[i] }'
Data_1
追加してcsvファイルに出力する予定です。
awk '{ a[$2]++ }END{ for(i in a) printf "%-15s%s\n",i,a[i] }'
Data_1 > Count.csv
しかし、今私が直面している問題は、上記のawkスクリプトが出力されることです。
Gregor 4
Alexis 15
George 17
csvファイルにエクスポートすると、Excelは1つの列Aにのみ名前と数を追加します。ある列に名前を付け、もう一方の列に番号を付けるために端末でcsvコマンドの形式をどのように指定しますか? Excelで取得したい
A B
Gregor 4
Alexis 15
George 17
答え1
.csv
withを使用している場合は、フィールド間にカンマを追加して単純な型を持つようにする必要がありますprintf
。
awk '{ a[$2]++ }END{ for(i in a) printf "%-15s,%s\n",i,a[i] }'
Gregor ,4
Alexis ,15
George ,17
または成熟した.csv型
awk '{ a[$2]++ }END{ for(i in a) printf "\"%-15s\",\"%s\"\n",i,a[i] }'
"Gregor ","4"
"Alexis ","15"
"George ","17"
ただし、(単純な.csv)をprint
代わりに使用してawk
コンマを追加できます。OFS
awk '{ a[$2]++ }END{ for(i in a) print i,a[i] }' OFS=,
Gregor,4
Alexis,15
George,17
または単に現場で印刷してください。
awk '{ a[$2]++ }END{ for(i in a) print i","a[i] }'
Gregor,4
Alexis,15
George,17
成熟した.csv形式の場合。
awk '{ a[$2]++ }END{ for(i in a) print "\""i"\",\""a[i]"\"" }'
"Gregor","4"
"Alexis","15"
"George","17"