如何在 Linux 中比较两个文件

[ad_1]

有时我们需要比较两个或两个以上的文件以进行一些修改,或者只是检查两个相同文件中的错误。 我们没有读取两个文件并精确比较它们,而是在 Linux 中提供了一些内置工具,可以在这方面帮助我们。

在本文中,我们将讨论用于与 Linux 中的文件进行比较的内置函数和一些第三方工具以及它们是如何工作的。

如何在 Linux 中比较文件

对于使用以下实用程序的比较文件:

  • 差异
  • 色差
  • 威迪夫

什么是 Linux 中的 diff 命令

Diff 命令按行比较两个文件。 它还可以帮助我们分辨文件中的差异并提及这些差异。 它总是将第一个文件与另一个文件进行比较,这意味着它将通过将第一个文件与第二个文件进行比较来判断第一个文件中的差异。 因此,它会建议您在第一个文件中进行更改(如果有任何差异)以将其与第二个文件匹配。

结果中可能会显示三个字母:“a 表示添加”、“c 表示更改”和“d 表示删除”。 符号“”用于显示第二个文件。
diff 命令的语法如下:

 diff [first file name]  [second file name]

让我们考虑示例以了解此命令的工作原理。 我们在 Ubuntu 20.04 的 Documents 文件夹中创建两个文本文件,名称为 test_file1 和 test_file2,其文本显示在图像中。

现在,我们将在 Ubuntu 20.04 的终端中打开以下命令以找出差异。 转到保存文件的文件夹。

diff test_file1 test_file2 

检查两个文件之间的差异

上面的输出显示我们上面的文件存在差异。 3a4 表示应在第 3 行的第一个文件中添加 a。

现在,为了获得更多说明,请运行以下命令:

diff test_file2 test_file1 

Linux 中 diff 的另一个例子

在这个命令中,我们只是比较 test_file2 和 test_file1。 现在让我们看看输出。 在此输出中的含义 “4d3” 删除的意思 4号线test_file2 为了匹配 test_file1。

有不同的标志可以帮助我们更容易地理解文件中的差异。 在讨论标志之前,让我们先看看使用标志的一般语法。

 diff –[flag] [filename1] [filename2]

有许多用于不同目的的标志。 我们将在这里详细讨论其中的两个以供理解。

如何使用 diff 命令在上下文模式下查看文件

为了在上下文模式下查看结果,我们将使用标志“c”。 让我们考虑前面的例子并使用这个标志比较它们并检查它是如何工作的。

diff -c test_file1 test_file2 

上下文模式下的 Diff 命令

在这个使用标志的输出中,还提到了文件创建的细节以及时间。 “!” 意味着需要改变, “——” 意味着要删除的东西和 “+” 来意味着添加一些东西来匹配第一个文件和第二个文件。

统一模式如何使用 diff 命令工作:

用于以统一模式查看文件。 我们可以使用标志“u”来查看,它和上下文模式的区别在于它不显示不重要的信息。
让我们考虑一个例子。

diff -u test_file1 test_file2 

统一模式下的差异示例

所以我们观察到这个标志以精确的方式显示结果,以便读者可以更好地理解它们。 在上面的输出中,-1,3 表示在第一个文件中您必须删除“从保险杠”并添加第四行。
其他一些标志及其用途是:

标志详情e它用于在 ed 脚本中显示输出。y它以颜色显示输出q仅在有任何差异时才给出输出

我们可以通过在 Ubuntu 的终端中键入以下命令来查看所有标志及其功能。

man diff 

差异手册页

什么是 colordiff 命令?

的工作 colordiff 命令与 diff 命令相同,但它以丰富多彩的方式显示结果,这有助于用户轻松理解,并且对读者来说是一个有吸引力的可读文件。
让我们考虑前面的例子。

colordiff test_file1 test_file2 

输出是彩色的。

colordiff 命令示例

什么是 wdiff 命令

它逐字比较文件。 它告诉我们应该添加哪些单词以及添加到哪里以使两个文件匹配。 为便于理解,请再次考虑前面的示例:

wdiff test_file1 test_file2 

输出是:

在 Linux 中用 wdiff 比较文件

从输出中我们可以看到,“from front insurance”应该被删除,并且“car should be repaired”被添加了。 但它没有说明在哪一行。 这是之间的区别 “wdiff”“差异”.

第三方工具可用于比较 Linux 中的两个文件。 广泛使用的工具是 vimdiff.

使用 Vimdiff 比较文件

我们还可以使用 vim 编辑器来比较 Linux 中的两个文件。 为此,我们首先将 vim 编辑器安装为:

sudo apt install vim 

现在我们使用 vim 编辑器比较之前的文件。

vimdiff test_file1 test_file2 

输出显示为:

使用 vimdiff 比较文件

我们看到输出在一个表格中并用颜色突出显示。 需要添加的部分用蓝色高亮显示,蓝色的“—-”表示需要添加的内容。

除此之外,还有很多第三方编辑器,可以用来比较Linux中的两个文件,例如, 相比, 差异合并、diffuse-GUI 工具等。

结论

在这个时代,每个人都希望生活更轻松,因此,与其逐字比较文件,我们更愿意将它们与一些工具进行比较,以便它可以在更短的时间内为我们提供准确的结果。 在本文中,我们讨论了如何使用 Linux 的内置命令和第三方工具比较 Linux 中的两个文件。

[ad_2]

Related Posts