おおよそこのコードを使用して、テキストからストップワードを削除してい ます
私は以下を持っています
$ 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
。
ここで何が起こっているのですか、どうすれば修正できますか?
Mac OSX GNU bash、バージョン4.4.12(1)でgrep(BSD grep)2.5.1-FreeBSDを使用しています。
i
パターンをstopwords
ファイルの最初のパターンではなく2番目のパターンにすると、動作も変更されます。
grep
もGNU grep
3.1 でも再現できません。
-x
で-w
はなく行の正規表現にスイッチを使用したい場合がありますか?しかし、私は-F
スイッチがそれらのいずれかをキャンセルするか、またはその逆になると思います。