Estoy eliminando palabras vacías de un texto, aproximadamente usando este código
Tengo lo siguiente
$ cat file
file
types
extensions
$ cat stopwords
i
file
types
grep -vwFf stopwords file
Estoy esperando el resultado:
extensions
pero me sale el (creo que incorrecto)
file
extensions
Es como si la palabra file
se hubiera omitido en el archivo de palabras clave. Ahora aquí está la parte fría: si modifica el archivo de palabras vacías, cambiando la palabra / carta i
en la primera línea, a cualquier otra letra ASCII, aparte de f
, i
, l
, e
, a continuación, el mismo comando grep me da un resultado diferente y correcta de extensions
.
¿Qué está pasando aquí y cómo lo soluciono?
Estoy usando grep (BSD grep) 2.5.1-FreeBSD en un Mac OSX GNU bash, versión 4.4.12 (1)
i
patrón en el segundo patrón en lugar del primer patrón en el stopwords
archivo también altera el comportamiento.
grep
ni con GNU grep
3.1.
-x
interruptor para regex de línea en lugar de-w
para word? Sin embargo, creo que el-F
interruptor cancelará cualquiera de ellos, o viceversa.