如果关键字在另一个文本文件中列出,则从一个文本文件中删除关键字?

时间:2014-11-05 08:26:32

标签: shell command-line ssh grep command

我有两个不同的文本文件:

foo.txt - This file contains a list of 500 keywords.
bar.txt - This file contains a list of 230 keywords.

我需要以某种方式比较文件,以获取所有未包含在BOTH文件中的关键字列表。

例如,如果某个关键字位于文件foo.txt中但不在文件bar.txt中,那么我需要知道该关键字。

我认为最简单的方法是使用sed或grep的命令行,但我打开任何建议或帮助。谢谢!

3 个答案:

答案 0 :(得分:0)

uniq <(sort foo.txt bar.txt)

会为你做(如果你的关键词在不同的行上)。

答案 1 :(得分:0)

您还可以查看diff

cat f1
blue
green
yellow

cat f2
orange
red
green

diff -y f1 f2
blue                                                          | orange
                                                              > red
green                                                           green
yellow                                                        <

答案 2 :(得分:0)

如果文件中只有300-500个单词,则性能根本不是问题。你可以:

grep -vFwf f1 f2 > result.txt
grep -vFwf f2 f1 >>result.txt