Gravar para arquivar palavras mais comuns por contador com linux

0

Eu quero gravar em um arquivo as palavras que aparecem pelo menos X vezes no texto. Por exemplo, para:

a
b
a
c
b

e X = 2 eu teria:

a
b
    
por Shani Gamrian 14.01.2017 / 18:12

1 resposta

0

Isso faz o básico, embora seja muito lento em uma grande lista de palavras: -

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

Uma resposta mais rápida (graças a Kamil Maciorowski): -

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

Isso pressupõe: -

  • Você definirá suas próprias entradas FileList e Count .
  • As palavras são uma por linha em WordList .
  • O caso é significativo (por exemplo, The e the são diferentes).
  • Esta é a entrada da linha de comando: em um script, set Count seria omitido e passado como um parâmetro.

Isso deve começar, embora você quase certamente precise modificar suas necessidades específicas.

    
por 14.01.2017 / 18:54