Sto rimuovendo le parole di arresto da un testo, usando approssimativamente questo codice
Ho il seguente
$ cat file
file
types
extensions
$ cat stopwords
i
file
types
grep -vwFf stopwords file
Mi aspetto il risultato:
extensions
ma ottengo il (penso errato)
file
extensions
È come se la parola file
fosse stata ignorata nel file stopwords. Ora ecco il po 'fredda: se modifico il file stopwords, cambiando la parola / lettera i
sulla prima linea, a qualsiasi altra lettera ascii a parte f
, i
, l
, e
, poi lo stesso comando grep mi dà un risultato diverso e corretto extensions
.
Cosa sta succedendo qui e come posso risolverlo?
Sto usando grep (BSD grep) 2.5.1-FreeBSD su un Mac OSX GNU bash, versione 4.4.12 (1)
i
modello il secondo anziché il primo modello nel stopwords
file altera anche il comportamento.
grep
né con GNU grep
3.1.
-x
opzione per la riga regex invece che-w
per la parola? Tuttavia, penso che l'-F
interruttore annullerà uno di essi, o viceversa.