比较三个文件。
diff3 [ -e | -x | -E | -X | -3 ] File1 File2 File3
diff3 命令比较三个文件,并将不同文本的范围写到标准输出,以下列代码为标记:
==== | 三个文件都不同。 |
====1 | File1 不同。 |
====2 | File2 不同。 |
====3 | File3 不同。 |
需要用以将给定文件的指定范围转换以匹配另一文件的更改类型,在输出中由下列 2 种方式之一指明:
File:Number1 a | 文本添加到 File 中的行号 Number1 后,其中 File 可以是 1、2 或 3。 |
File:Number1[,Number2]c | 第 Number1 行与第 Number2 行之间的文本将被更改。如果 Number1 同 Number2 相等,范围减缩为第 Number1 行。 |
相应范围的内容在 c 指示之后。当两文件内容相同时,命令 diff3 不显示较小编号文件的内容,虽然它显示相同行的位置。
注: -e 标志所产生的编辑脚本无法创建由 a 组成的行。
-3 | 建立只合并标志为 ====3 的修改的编辑脚本。 |
-E, -X | 这些分别类似于 -e 和 -x 标志,但是对重叠修改(就是在正常列表中被标记为 ==== 的修改处)的处理不同。两文件的重叠行被编辑脚本插入,并由<<<<<< 和 >>>>>> 行括起来。-E 选项用于修订控件系统(RCS)合并,使得合并文件中的重叠修改受到保留并引起注意。 |
-e | 建立和 ed 命令一起使用的编辑脚本,把所有修改合并到 File1,即 File2 和 File3 之间的修改(就是正常情况下标记为 ==== 和 ====3 的修改处)。 |
-x | 建立只合并标记为 ==== 的修改的编辑脚本。 |
列举三个文件的不同处:
diff3 fruit.a fruit.b fruit.c
如果文件 fruit.a、fruit.b 和 fruit.c 包含以下数据:
fruit.a fruit.b fruit.c
banana apple grape
grape banana grapefruit
kiwi grapefruit kiwi
lemon kiwi lemon
mango orange mango
orange peach orange
peach pear peach
pare
然后 diff3 命令的输出显示了这些文件的差异,如下所示。(右边的注释不会出现在输出中。)
==== 3 个文件都不同。1:1,2c 第一个文件 fruit.a 的 1、2 行 banana grape 2:1,3c fruit.b 的第 1 到 3 行 apple banana grapefruit 3:1,2c 文件 fruit.c 的第 1、2 行 grape grapefruit ====2 第 2 个文件 fruit.b 的不同处。 1:4,5c 文件 fruit.a 和 fruit.c 第 4、5 行相同。 2:4a 为使文件 fruit.b 看起来相同,在第 4 行后添加。 3:4,5c lemon mango ==== 第一个文件 fruit.a 的不同处。1:8c pare 2:7c fruit.b 的第 7 行和 fruit.c 的第 8 行相同 pear 3:7a
/usr/bin/diff3 | 指示 diff3 命令。 |
/usr/lbin/diff3prog | 被 diff3 shell 脚本调用。 |
《AIX 5L V5.2 系统用户指南:操作系统与设备》中的『文件概述』向您介绍了各文件以及使用它们的方法。
《AIX 5L V5.2 系统用户指南:操作系统与设备》中的『输入输出重定向概述』描述了操作系统如何处理输入输出。