Usuwam słowa stop z tekstu, z grubsza używając tego kodu
Mam następujące
$ cat file
file
types
extensions
$ cat stopwords
i
file
types
grep -vwFf stopwords file
Oczekuję wyniku:
extensions
ale dostaję (myślę, że niepoprawny)
file
extensions
To tak, jakby słowo file
zostało pominięte w pliku stopwords. Teraz tutaj jest nieco cool: gdybym zmodyfikować plik odrzucanych słów, zmieniając jedno słowo / literę i
na pierwszej linii, do jakiegokolwiek innego ASCII litery oprócz f
, i
, l
, e
, a następnie to samo polecenie grep daje mi inny i prawidłowego wyniku extensions
.
Co tu się dzieje i jak to naprawić?
Używam grep (BSD grep) 2.5.1-FreeBSD na bash dla systemu Mac OSX GNU, wersja 4.4.12 (1)
i
wzorca na drugi zamiast pierwszego wzorca w stopwords
pliku również zmienia zachowanie.
grep
ani z GNU grep
3.1.
-x
przełącznika do wyrażenia regularnego wiersza zamiast-w
słowa? Myślę jednak, że-F
zmiana anuluje którekolwiek z nich lub odwrotnie.