Escribir en el archivo las palabras más comunes por contador con Linux

Escribir en el archivo las palabras más comunes por contador con Linux

Quiero escribir en un archivo las palabras que aparecen al menos X veces en el texto. Por ejemplo, para:

a
b
a
c
b

y X = 2 obtendría:

a
b

Respuesta1

Esto hace lo básico, aunque será bastante lento en una lista de palabras grande:

set Count
sort < WordList | uniq | while read w; \
    do [ $(grep -c "^$w$" WordList) -ge $1 ] && echo $w; done

Una respuesta más rápida (gracias a Kamil Maciorowski):-

set Count
sort < WordList | uniq -c | while read c w; do [ $c -ge $1 ] && echo $w; done

Esto supone: -

  • Establecerás tus propias FileListentradas Count.
  • Las palabras están una por línea en WordList.
  • El caso es significativo (por ejemplo, They theson diferentes).
  • Esta es la entrada de la línea de comandos: en un script, set Countse omitiría y se pasaría como parámetro.

Esto debería ayudarle a comenzar, aunque es casi seguro que necesitará modificarlo según sus necesidades específicas.

información relacionada