Su salida de muestra indica que la "referencia indefinida" siempre será el campo final awk
de una línea. En awk
, NF
será el número de campos, y $NF
será aquel campo cuyo número es "el número de campos", es decir. el campo final, que es lo que está pidiendo.
awk '{print "undefined reference = " $NF}'
$ echo "zebra ant spider spider ant zebra ant dog shark" |\
fmt -1 | sort | uniq -cd | xargs echo
3 ant 2 spider 2 zebra
Нет необходимостиxargs
:
echo $(printf '%s\n' zebra ant spider spider ant zebra ant dog shark |
sort | uniq -dc)
Выход:
3 ant 2 spider 2 zebra
С помощью 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
}'