要知道的内容
- 比较,运行:diff file1 file2.
- 展示他们的不同之处:diff -q file1 file2
- 展示如何与:diff -s file1 file2
本文解释如何使用Linux比较两个文件,并将文件之间的差异输出到屏幕或文件中。在Linux中,您不需要安装特殊的软件来比较文件,但您需要知道如何这样做打开终端窗口.
创建要比较的文件
如果要与本指南一起进行操作,请创建两个包含相似但不同文本的文本文件。
创建第一个文件
创建一个名为file1.然后输入以下文字:
站立在墙壁上的10个绿色瓶
站立在墙壁上的10个绿色瓶
如果一个绿色瓶子不当落下
墙上有9个绿色的瓶子
要创建此文件,请按照以下说明操作:
-
通过键入以下命令打开文件:
nano file1.
在Linux中打开终端窗口的最快方法是按CTRL + ALT + T同时打开钥匙。
-
把文本输入纳米编辑器.
-
新闻CTRL + O保存文件。
-
新闻CTRL + X退出文件。
创建第二个文件
接下来,创建另一个名为file2.并输入以下文本:
站立在墙壁上的10个绿色瓶
如果一个绿色的瓶子不小心掉了
墙上有9个绿色的瓶子
要创建此文件,请按照以下说明操作:
-
通过键入以下命令打开文件:
nano file2.
-
将文本键入Nano编辑器。
-
新闻CTRL + O保存文件。
-
新闻CTRL + X退出文件。
如何使用Linux比较两个文件
在Linux中用来显示两个文件之间差异的命令称为diff命令。
diff命令最简单的形式如下:
diff file1 file2.
如果文件相同,则使用该命令时无输出。但是,由于存在差异,输出类似如下:
2,4c2,3
10个绿色的瓶子站在墙上
<如果一个绿色的瓶子不小心掉了
<将有9个绿色瓶子站在墙上
...
>如果1个绿色瓶子应该意外落下
>有9个绿色瓶子站在墙上
最初,输出似乎令人困惑,但一旦理解了术语,它就相当合乎逻辑了。
两个文件之间的差异如下:
- 第二个文件只有三行。第一个文件有四个。
- 第二份文件说1绿色的瓶子在第三行。第一个文件说一个绿色的瓶子.
- 第二份文件说就而不是就在最后一行。
diff命令的输出显示,第一个文件的第2行和第4行与第二个文件的第2行和第3行之间存在差异。
然后列出第一个文件中的第2到第4行,然后列出第二个文件中的两个不同行。
如何仅显示文件是否有所不同
如果您只想知道文件是否不同,并且您不感兴趣的是哪些行不同,请运行以下命令:
diff -q file1 file2
如果不一致,显示如下:
文件file1和file2不同
如果文件相同,则无法显示。
如果文件是一样的,如何显示消息
运行命令时,您可能需要知道它是否正常工作。您希望在运行差异命令时显示一条消息,无论文件是相同还是不同
要使用diff命令实现此要求,请使用以下命令:
diff -s file1 file2
如果文件是相同的,则会出现以下消息:
文件file1和file2是相同的
如何并排产生差异
如果存在多种差异,则可能会令于差异实际在两个文件之间的差异。您可以更改Diff命令的输出,以便结果并排显示。为此,请运行以下命令:
diff -y file1 file2
文件的输出使用|表示两条线之间的差别的符号<显示一条已被删除的线,以及>显示已附加的线路。
使用本文中的演示文件运行该命令时,所有行都显示出不同的不同之处在于最后一行file2.,显示为删除。
限制列宽度
在将两个文件并排进行比较时,如果文件有几列文本,则很难读取。要限制列数,请使用以下命令:
Diff——width=5 file1 file2 . Diff——width=5
比较文件时如何忽略大小写差异
如果你想比较两个文件,但你不关心两个文件之间的字母大小写是否相同,使用以下命令:
Diff -i file1 file2
如何在一条线结束时忽略尾随空格
如果您注意到在比较文件时的许多差异,并且差异是由行末尾的空白空间引起的,请通过运行以下命令来防止它们显示为更改:
diff -Z file1 file2
如何忽略两个文件之间的所有空格差异
如果您只对文件中的文本感兴趣,而不关心其中一个空格是否比另一个空格多,请使用以下命令:
diff -w file1 file2
如何在比较两个文件时忽略空行
如果你不关心一个文件可能有额外的空行,使用以下命令比较文件:
diff -B file1 file2 . diff
概括
您可以通过阅读来找到更多信息diff命令的手册.
人比较
Diff命令可以以其最简单的形式使用,以仅显示两个文件之间的差异。您也可以使用它来创建diff文件作为…的一部分修补策略.
您可以用来比较文件的另一个命令cmp命令.它逐字节地比较文件。