比较两个文件的内容(差异)

Posted

技术标签:

【中文标题】比较两个文件的内容(差异)【英文标题】:Compare content of two files (diff) 【发布时间】:2021-06-30 22:50:35 【问题描述】:

我想要做的是比较两个不同文件的内容。我不知道我做错了什么,但是我在网上搜索的关于 diff 命令的东西没有用。

例如如果fileA的内容是这样的:

AAA:111
BBB:222
CCC:333

而fileB的内容是:

AAA:111
BBB:222

我希望看到的输出只是 CCC:333 的差异。没有“”,只是简单的 CCC:333。我想稍后在我正在处理的 bash 脚本中使用它。

如果这些文件被反转也有关系吗?我的意思是如果它是包含 CCC:333 的 fileB?

我不知道这是否重要,但我正在处理的文件是 MAC 地址。

我尝试使用的 diff 命令是否区分大小写?

【问题讨论】:

不清楚你想要什么。文件 A 中所有不在文件 B 中的行? either 文件中的所有行不在另一个文件中?顺序重要吗? sort fileA fileB | uniq -u? 如果文件已排序,您可以使用comm 【参考方案1】:

您可以使用两个diff 选项,如下所示:

diff --changed-group-format='%<' --unchanged-group-format='' fileA fileB

【讨论】:

【参考方案2】:

如果其他人正在寻找这些答案,我只想补充说它们都有效!

Cyrus 的 sort 和 uniq 解决方案将显示这两个文件的差异(如果不同之处在于它们都有 aaa 和 bbb 行,但只有一个有 xxx,另一个有 yyy,它会打印出那些两行 xxx 和 yyy)。

Philippe 的 diff 命令解决方案可以为您提供不同的输出,因为这取决于您是先放 fileA 然后放 fileB 还是先放 fileB 然后放 fileA。 自己测试一下。

如有错误请指正!

感谢您的帮助。

【讨论】:

以上是关于比较两个文件的内容(差异)的主要内容,如果未能解决你的问题,请参考以下文章

比较两个文件和两个文件的输出差异(包括行号和内容)

python 有没有一个模块可以比较两个文本文件内容差异的?而且可以只输出差异的部分?

怎样比较两个PDF文档的差异

python比较两个文件的差异

Git diff 比较两个版本文件之间的差异

怎样用Beyond Compare比较两个word文档的差异