Estou removendo palavras de parada de um texto, usando aproximadamente este código
Eu tenho o seguinte
$ cat file
file
types
extensions
$ cat stopwords
i
file
types
grep -vwFf stopwords file
Estou esperando o resultado:
extensions
mas recebo o (acho incorreto)
file
extensions
É como se a palavra file
tivesse sido ignorada no arquivo de palavras irrelevantes. Agora aqui é a parte legal: se eu modificar o arquivo de stopwords, mudando a palavra / única letra i
na primeira linha, para qualquer outra letra ascii para além de f
, i
, l
, e
, em seguida, o mesmo comando grep me dá um resultado diferente e correcta extensions
.
O que está acontecendo aqui e como corrigi-lo?
Estou usando o grep (BSD grep) 2.5.1-FreeBSD em um Mac OSX GNU bash, versão 4.4.12 (1)
i
padrão o segundo e não o primeiro padrão no stopwords
arquivo também altera o comportamento.
grep
nem com o GNU grep
3.1.
-x
opção para regex de linha em vez de-w
para word? No entanto, acho que a-F
opção cancelará qualquer um deles ou vice-versa.