Extraindo apenas as palavras de um arquivo de texto

1

Qual é o comando Unix para pegar um arquivo de texto e remover os espaços em branco e a pontuação, deixando apenas as palavras, uma palavra por linha?

    
por rwallace 09.12.2012 / 04:27

1 resposta

7

Isso já foi respondido aqui em stackoverflow para os comandos shell que fazem isso .

Alternativamente, você pode também usar o vim para fazer isso, conforme descrito neste post em stackoverflow .

A principal resposta dada por rampion sobre como usar o shell:

Você pode usar grep :

  • -E '\w+' procura por palavras
  • -o imprime apenas a parte da linha que corresponde a
% cat temp
Some examples use "The quick brown fox jumped over the lazy dog,"
rather than "Lorem ipsum dolor sit amet, consectetur adipiscing elit"
for example text.
# if you don't care whether words repeat
% grep -o -E '\w+' temp
Some
examples
use
The
quick
brown
fox
jumped
over
the
lazy
dog
rather
than
Lorem
ipsum
dolor
sit
amet
consectetur
adipiscing
elit
for
example
text

Se quiser imprimir apenas uma palavra uma vez, desconsiderando maiúsculas e minúsculas, você pode usar sort

  • -u imprime apenas uma palavra uma vez
  • -f informa sort para ignorar maiúsculas ao comparar palavras
# if you only want each word once
% grep -o -E '\w+' temp | sort -u -f
adipiscing
amet
brown
consectetur
dog
dolor
elit
example
examples
for
fox
ipsum
jumped
lazy
Lorem
over
quick
rather
sit
Some
text
than
The
use
por 09.12.2012 / 04:41

Tags