限制列宽
并排比较两个文件时,如果文件有几列文本,则可能难以阅读。
要限制列数,请使用以下命令:
diff --width=5 file1 file2
如何并排产生差异
如果存在多个差异,则可能会混淆两个文件之间的实际差异。
我们可以更改 diff 命令的输出,以便并排显示结果。
为此,请运行以下命令:
diff -y file1 file2
该文件的输出使用 |符号显示两行之间的差异,< 显示已删除的行,> 显示已添加的行。
使用本文中的演示文件运行命令时,除了 file2 的最后一行显示为已删除之外,所有行都显示为不同。
创建测试文件
file1
10 green bottles standing on a wall 10 green bottles standing on a wall If one green bottle should accidentally fall There would be 9 green bottles standing on the wall
file2
10 green bottles standing on a wall If 1 green bottle should accidentally fall There'd be 9 green bottles standing on the wall
如何仅显示文件不同
如果我们只想知道文件是否不同,而对哪些行不同不感兴趣,请运行以下命令:
diff -q file1 file2
如果文件不同,将显示以下内容:
Files file1 and file2 differ
如果文件相同,则不显示任何内容。
比较两个文件时如何忽略空行
如果我们不关心某个文件中可能有多余的空行,请使用以下命令比较这些文件:
diff -B file1 file2
测试并查看文件是否已更新或者更改
- 要进行比较,请运行:diff file1 file2
- 显示它们的不同之处:diff -q file1 file2
- 显示它们的相同之处:diff -s file1 file2
本文介绍了如何使用 Linux 比较两个文件,并将文件之间的差异输出到屏幕或者文件中。
我们不会安装特殊软件来使用 Linux 比较文件,但我们需要知道如何打开终端窗口。
如何忽略行尾的尾随空白
如果我们在比较文件时发现许多差异,并且差异是由行尾的空格引起的,请通过运行以下命令来防止这些差异显示为更改:
diff -Z file1 file2
如果文件相同,如何显示消息
当我们运行命令时,我们可能想知道它是否正常工作。
无论文件相同还是不同,我们都希望在运行 diff 命令时显示一条消息
要使用 diff 命令实现此要求,请使用以下命令:
diff -s file1 file2
如果文件相同,则会出现以下消息:
Files file1 and file2 are identical
如何使用 Linux 比较两个文件
Linux 中用来显示两个文件之间差异的命令称为 diff 命令。
diff 命令的最简单形式如下:
diff file1 file2
如果文件相同,则使用此命令时不显示任何输出。
但是,由于存在差异,输出类似于以下内容:
2,4c2,3 < 10 green bottles standing on the wall < If one green bottle should accidentally fall < There would be 9 green bottles standing on the wall ... > If 1 green bottle should accidentally fall > There'd be 9 green bottles standing on the wall
最初,输出似乎令人困惑,但是一旦我们理解了术语,它就相当合乎逻辑。
两个文件的区别如下:
- 第二个文件只有三行。第一个文件有四个。
- 第二个文件在第三行说 1 个绿色瓶子。第一个文件说一个绿色瓶子。
- 第二个文件说有而不是在最后一行。
diff 命令的输出显示,第一个文件的第 2 行和第 4 行与第二个文件的第 2 行和第 3 行之间存在差异。
然后它列出第一个文件中从 2 到 4 的行,然后是第二个文件中的两个不同的行。
比较文件时如何忽略大小写差异
如果要比较两个文件,但不关心两个文件的字母大小写是否相同,请使用以下命令:
diff -i file1 file2
如何忽略两个文件之间的所有空白差异
如果我们只对文件中的文本感兴趣,而不关心一个文件中的空格是否多于另一个,请使用以下命令:
diff -w file1 file2