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