比较文件之间的差异

关于差异

在比较文件时,我们使用diff命令。

diff命令用于逐行比较文件。 本质上,它会输出一组有关如何更改一个文件的说明,以使其与第二个文件相同。

怎么运行的:

我们有两个文件umaga.txtumaga1.txt

umaga.txt包含以下四行文本:

  • 肯尼亚很冷。
  • 加纳很热。
  • 撒哈拉沙漠正在燃烧。
  • 最糟糕的是浓汤。

umaga1.txt包含以下四行文本:

  • 肯尼亚很酷。
  • 加纳很温暖。
  • 撒哈拉很热。
  • 迷思是超级寒意。

…。然后我们可以使用diff通过此命令自动为我们显示两个文件中哪些行不同。

diff umaga.txt umaga1.txt

…输出将是

1,4c1,4

<肯尼亚很冷

<加纳很热

<撒哈拉大火

<est is dope

_ _ _

>肯尼亚很酷

>加纳很温暖

撒哈拉很热

>最冷

diff命令在说明性上下文中描述了这些差异,这意味着: 它告诉您如何更改第一个文件以使其与第二个文件匹配。

diff输出的第一行将包含:

  • 第一个文件对应的行号
  • 字母(a表示添加,c表示更改,d表示删除)
  • 与第二个文件对应的行号

在上面的输出中, “ 1,4c1,4”表示“为了与第二个文件中的第1至4行匹配,需要更改第一个文件中的第1至4行”。 然后告诉我们每个文件中的那些行:

  • 以<开头的行是第一个文件中的行
  • >开头的行是第二个文件中的行

三个破折号(“ _ _ _”)仅将文件1和文件2的行分开。

让我们尝试另一个例子

umaga.txt包含:

  • 肯尼亚很冷
  • 加纳很热
  • 它也丰富多彩!
  • 糊涂

umaga1.txt包含:

  • 肯尼亚很冷
  • 加纳很热
  • 糊涂

我们的命令: diff umaga.txt umaga1.txt

输出:

3天2

<它也丰富多彩!

输出告诉我们“您删除第一个文件中的第3行,以便两个文件都可以在第2行同步。”然后向我们显示了需要删除的行的内容。

让我们看另一个例子:

umaga.txt包含:

  • 肯尼亚很冷
  • 加纳很热
  • 糊涂

umaga1.txt包含:

  • 肯尼亚很冷
  • 加纳很热
  • 哦,它也丰富多彩!
  • 糊涂

我们的命令: diff umaga.txt umaga1.txt

输出:

2a3

>哦,它也丰富多彩!

输出告诉我们:“在第一个文件的第2行之后,需要添加一行:第二个文件的第3行”。 然后,它告诉我们那条线是什么。