その国に対応するテキストファイルの特定の文字列数を数えます。

その国に対応するテキストファイルの特定の文字列数を数えます。

以下を含むタブ区切りフィールドを含むテキストファイルがあります。

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」の場合、連想配列のカウンタをインクリメントします。そしてファイルの最後に配列の内容を印刷します。

おすすめ記事