相互比较两个文本文件

发布于 2024-11-07 22:10:33 字数 259 浏览 0 评论 0原文

如果我必须文本文件,例如:

file1.txt

apple
orange
pear
banana

file2.txt

banana
pear

我如何将 file2.txt 行上的所有短语从 file1.txt 中取出,

那么 file1.txt 将留下:

apple
orange

If I had to text files, for example:

file1.txt

apple
orange
pear
banana

file2.txt

banana
pear

How would I take all phrases on the lines of file2.txt away from file1.txt

So file1.txt would be left with:

apple
orange

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

醉城メ夜风 2024-11-14 22:10:33
grep -v -F -f file2.txt file1.txt

-v 表示仅列出 file1.txt 中与模式不匹配的行,-f 表示从文件中获取模式,在本例中为 file2.txt。 -F - 将 PATTERN 解释为固定字符串列表,以换行符分隔,其中任何一个都将被匹配。

grep 命令是 OS X 和 Linux 上内置的。在 Windows 上你必须安装它;例如通过 Cygwin

grep -v -F -f file2.txt file1.txt

-v means listing only the lines of file1.txt that do not match the pattern, and -f means taking the patterns from the file, in this case — file2.txt. And -F — interpret PATTERN as a list of fixed strings, separated by newlines, any of which is to be matched.

grep command is built-in on OS X and Linux. On Windows you'll have to install it; for example via Cygwin.

梦年海沫深 2024-11-14 22:10:33
combine file1 not file2

在 Debian 及其衍生版本上,可以在 moreutils 软件包中找到组合。

combine file1 not file2

On Debian and derivatives, combine can be found in the moreutils package.

凤舞天涯 2024-11-14 22:10:33

如果文件很大(但也必须排序),comm 可能比 Ivan 提出的更通用的 grep 解决方案更好,因为它逐行运行,因此不需要加载整个文件file2.txt 写入内存(或搜索每一行)。

comm -3 file1-sorted.txt file2-sorted.txt | sed 's/^\t//'

需要使用 sed 命令来删除 comm 插入的前导制表符。

If the files are huge (but must also be sorted), comm may be preferable to the more general grep solution proposed by Ivan since it operates line by line and thus, would not need to load the entirety of file2.txt into memory (or search it for each line).

comm -3 file1-sorted.txt file2-sorted.txt | sed 's/^\t//'

The sed command is needed to remove a leading tab inserted by comm.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文