入力例は次のとおりです。
John,Yes,123
Tom,No,345
Jason,Yes,567
Thomas,No,123
Jess,No,999
James,Yes,888
Lisa,No,345
Lou,Yes,777
Peter,No,123
3列目の値の発生回数を印刷したいのですが、1回以上発生した値だけを印刷したいと思います。したがって、上記の例では、望ましい出力は次のようになります。
3 123
2 345
sed
/またはこれと同様にこれをどのように実行できますかawk
?
ベストアンサー1
cut -f3 -d, "$file" | sort | uniq -cd | sed 's/ *//'
cut
3番目のフィールドのみを出力するには、カンマを区切り文字として使用します。sort
uniq
使用できるように行を並べ替えるuniq -c
-d
重複行のみを出力する(つまり、一意の値を省略する)連続した重複行数を計算します。- 最後は
sed
先行スペースを削除します。