Я удаляю стоп-слова из текста, примерно используя этот код
У меня есть следующее
$ cat file
file
types
extensions
$ cat stopwords
i
file
types
grep -vwFf stopwords file
Я ожидаю результата:
extensions
но я получаю (я думаю, что неправильно)
file
extensions
Это как если бы слово file
было пропущено в файле стоп-слов. Теперь вот прохладно немного: если я изменить файл игнорируемых слов, путем изменения одного слова / буквы i
на первой линии, в любой другой ASCii буквы , кроме f
, i
, l
, e
, то та же команда Grep дает мне другой и правильный результат extensions
.
Что здесь происходит и как мне это исправить?
Я использую grep (BSD grep) 2.5.1-FreeBSD на bash Mac OSX GNU, версия 4.4.12 (1)
i
шаблона вместо второго шаблона в stopwords
файле также изменяет поведение.
grep
или с GNU grep
3.1.
-x
переключатель для регулярного выражения строки вместо-w
слова? Тем не менее, я думаю, что-F
переключатель отменит либо один из них, либо наоборот.