Я видаляю слова із зупинки з тексту, приблизно використовуючи цей код
У мене є таке
$ 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 на базі Mac OSX GNU, версія 4.4.12 (1)
iшаблон другим, а не першим, він stopwordsтакож змінює поведінку.
grepні з нативної, ні з GNU grep3.1.
-xперемикач для регулярного вираження ліній замість-wслова? Однак я думаю, що-Fперемикач скасує будь-який з них, або навпаки.