次のコマンドは次のとおりです。
echo "zebra ant spider spider ant zebra ant dog shark" | xargs -n1 | sort | uniq -c | xargs
結果:
3 ant 1 dog 1 shark 2 spider 2 zebra
ユニークな単語(犬とサメは重複単語ではないため)を無視して、個数のある重複単語だけを探したいと思います。
答え1
$ echo "zebra ant spider spider ant zebra ant dog shark" |\
fmt -1 | sort | uniq -cd | xargs echo
3 ant 2 spider 2 zebra
答え2
不要xargs
:
echo $(printf '%s\n' zebra ant spider spider ant zebra ant dog shark |
sort | uniq -dc)
出力:
3 ant 2 spider 2 zebra
答え3
Gnu awkを使用したPROCINFO:
echo "zebra ant spider spider ant zebra ant dog shark" |
awk '
BEGIN { PROCINFO[ "sorted_in" ] = "@ind_str_asc" }
{ for ( i = 1 ; i <= NF ; i++ ) a[$i]++ }
END {
for ( i in a ) if( a[i] > 1 ) {
b = b c a[i] " " i
c = " "
}
print b
}'
答え4
私は次の方法でそれをしました
注文する
echo "zebra ant spider spider ant zebra ant dog shark" | sed "s/ /\n/g"| awk '{a[$1]++}END{for(x in a) print x,a[x]}'| awk '$2 != "1" {print $0}'
出力
echo "zebra ant spider spider ant zebra ant dog shark" | sed "s/ /\n/g"| awk '{a[$1]++}END{for(x in a) print x,a[x]}'| awk '$2 != "1" {print $0}'
zebra 2
ant 3
spider 2