Ich entferne Stoppwörter aus einem Text und verwende ungefähr diesen Code
Ich habe folgendes
$ cat file
file
types
extensions
$ cat stopwords
i
file
types
grep -vwFf stopwords file
Ich erwarte das Ergebnis:
extensions
aber ich bekomme das (ich denke falsch)
file
extensions
Es ist, als ob das Wort file
in der Stoppwortdatei übersprungen wurde. Jetzt ist hier das kühle Bit: wenn ich die Stoppwörter - Datei ändern, indem Sie das Wort / den Wechsel i
in der ersten Zeile, jeden anderen ascii Brief abgesehen von f
, i
, l
, e
, dann wird der gleiche Befehl grep gibt mir ein anderes und korrektes Ergebnis extensions
.
Was ist hier los und wie behebe ich das?
Ich verwende grep (BSD grep) 2.5.1-FreeBSD auf einer Mac OSX GNU-Bash, Version 4.4.12 (1).
i
Muster zum zweiten und nicht zum ersten Muster in der stopwords
Datei machen, ändert sich auch das Verhalten.
grep
weder mit Native noch mit GNU grep
3.1 reproduzieren .
-x
Schalter für Zeilenregex anstelle von-w
Wort verwenden? Ich denke jedoch, dass der-F
Schalter einen von ihnen aufheben wird oder umgekehrt.