다음 명령은 다음과 같습니다.
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