Я удаляю стоп-слова из текста, примерно используя этот код
У меня есть следующее
$ 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 grep3.1.
-xпереключатель для регулярного выражения строки вместо-wслова? Тем не менее, я думаю, что-Fпереключатель отменит либо один из них, либо наоборот.