Je supprime les mots vides d'un texte, en utilisant à peu près ce code
J'ai le suivant
$ cat file
file
types
extensions
$ cat stopwords
i
file
types
grep -vwFf stopwords file
J'attends le résultat:
extensions
mais je reçois le (je pense incorrect)
file
extensions
C'est comme si le mot file
avait été ignoré dans le fichier des mots vides. Maintenant, voici le bit cool: si je modifie le fichier des mots vides, en changeant le mot / lettre i
sur la première ligne, à toute autre lettre ascii à part f
, i
, l
, e
, puis la même commande grep me donne un résultat différent et correcte extensions
.
Que se passe-t-il ici et comment y remédier?
J'utilise grep (BSD grep) 2.5.1-FreeBSD sur un bash Mac OSX GNU, version 4.4.12 (1)
i
motif le deuxième plutôt que le premier motif du stopwords
fichier modifie également le comportement.
grep
ni avec GNU grep
3.1.
-x
commutateur pour l'expression régulière de la ligne plutôt que-w
pour le mot? Cependant, je pense que le-F
commutateur annulera l'un d'eux, ou vice versa.