关于差异
在比较文件时,我们使用diff命令。
diff命令用于逐行比较文件。 本质上,它会输出一组有关如何更改一个文件的说明,以使其与第二个文件相同。
怎么运行的:
我们有两个文件umaga.txt , umaga1.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行”。 然后,它告诉我们那条线是什么。
