以下を含むタブ区切りフィールドを含むテキストファイルがあります。
Baseball Korea
Badminton Spain
Soccer Germany
Baseball Korea
Badminton Spain
Badminton Korea
私がしたいのは、特定のスポーツをそのスポーツが属する国と一緒に数えることです。たとえば、バドミントンを探したいと思います。
Korea 2
Spain 3
これを行うためにawkスクリプトを使用していますが、計算に問題があります。
awk 'BEGIN {FS = '\t'} {for country in $2) if ($1 ==
'Badminton') count [$1]++} END {print (country), count
[$1]}' Sport.txt
ベストアンサー1
一方通行:
$ awk 'x==$1{a[$2]++;}END{for(i in a){print i, a[i];}}' x='Badminton' file
Korea 1
Spain 2
最初の列の値が「Badminton」の場合、連想配列のカウンタをインクリメントします。そしてファイルの最後に配列の内容を印刷します。