首页 > 解决方案 > 根据另一个单词列表删除单词列表

问题描述

我有一长串关键字,在一个单独的文档中,我还有一长串可接受的关键字。我需要一种方法来删除列表中未出现在第二个列表中的所有内容,最好是在 Notepad++ 中。

标签: notepad++

解决方案


这可以通过多种方式完成。例如,您可以简单地使用 python 脚本或执行 Linux 命令。由于您使用的是 Notepad++,我假设您是 Windows 用户。在这种情况下,我只推荐下载MobaXtermGit。这将允许您在 Windows 中执行 Linux 命令。您可能可以使用 diff 选项在 Notepad++ 中执行此操作,但请记住,Notepad++ 可能不是执行此操作的好选择,尤其是对于大文件。

假设您有file1.txtfile2.txt并且您想从中获取所有关键字(file1如果它们位于file2.

file1.txt 包含:

test
one
summer
and
spring

file2.txt 包含:

summer
spring
winter

下载上述任何应用程序后,您可以执行以下命令:

grep -f file1.txt file2.txt
grep -f file1.txt file2.txt > result.txt # to save the result in a file

结果

summer
spring

如果您想要反转结果,请使用-v选项。

grep -vf file1.txt file2.txt
# output
winter

此外,要从 file1 中获取所有不在 file2 中的非关键字,请运行以下命令:

grep -vf file2.txt file1.txt
# output
test
one
and

推荐阅读