Я хочу найти только повторяющиеся слова и подсчитать их, но игнорировать эти уникальные слова (не повторяющиеся слова)

Su salida de muestra indica que la "referencia indefinida" siempre será el campo final awkde una línea. En awk, NFserá el número de campos, y $NFserá 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}'
-1
24.02.2019, 03:09
3 ответа
$ echo "zebra ant spider spider ant zebra ant dog shark" |\
  fmt -1 | sort | uniq -cd | xargs echo
3 ant 2 spider 2 zebra
1
28.04.2021, 23:36

Нет необходимостиxargs:

echo $(printf '%s\n' zebra ant spider spider ant zebra ant dog shark | 
       sort | uniq -dc)

Выход:

3 ant 2 spider 2 zebra
0
28.04.2021, 23:36

С помощью 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
  }'
0
28.04.2021, 23:36

Теги

Похожие вопросы