我有一个文件 A,里面有 100 个单词,用新行分隔。我想搜索文件 B 以查看文件 A 中的任何单词是否出现在其中。
我尝试了以下但对我不起作用:
grep -F A B
您需要使用选项-f
:
$ grep -f A B
该选项-F
执行固定字符串搜索,其中-f
用于指定模式文件。如果文件只包含固定字符串而不包含正则表达式,您可能需要两者。
$ grep -Ff A B
您可能还需要-w
仅匹配整个单词的选项:
$ grep -wFf A B
阅读man grep
所有可能的论点及其作用的描述。
要在大文件中查找很长的单词列表,使用 egrep 会更有效:
remove the last \n of A
$ tr '\n' '|' < A > A_regex
$ egrep -f A_regex B