diff3 [-exEX3] filename1 filename2 filename3
diff3 比较一个文件的三个版本。发布文本的不一致范围时,用以下代码标记:
全部三个文件都不同
filename1 不同
filename2 不同
filename3 不同
将某个指定文件的指定范围转换到某个其他文件时发生的更改类型通过以下方式之一指示:
在文件 f 中的行号 n1 之后将附加文本,其中 f = 1、2 或 3。
在第 n1 行到第 n2 行的范围内的文本将更改。如果 n1 = n2,则该范围可缩略成 n1。
该范围的原始内容紧跟在 c 标识之后。当两个文件的内容完全相同时,将隐藏编号较小的文件的内容。
以下命令将生成的脚本应用于 filename1。
(cat script; echo ´1,$p´) | ed − filename1
支持以下选项:
为 ed(1) 编辑器生成一个脚本,将 filename2 与 filename3 间的所有更改合并到 filename1 中(即通常标记为 ==== 和 ====3 的更改)。
由单个点 (.) 组成的文本行将使 –e 选项失效。
产生一个包含 filename2 与 filename3 之间的所有更改的脚本,但区别对待重叠的更改(即在常规列表中标记为 ==== 的更改)。两个文件中的重叠行通过编辑脚本插入,并用 <<<<<< 和 >>>>>> 行括起。
产生一个仅包含标记为 ==== 的更改的脚本。
产生一个仅包含标记为 ==== 的更改的脚本,但采用 –E 选项的方式对待这些更改。
产生一个仅包含标记为 ====3 的更改的脚本。
有关 diff3 遇到大于或等于 2 GB(231 字节)文件时行为的说明,请参见 largefile(5)。
将返回以下退出值:
成功完成。
出现错误。发现差异,或者存在致命错误。
发生了致命错误。
返回值的效果与 diff(1) 或其他供应商版本的 diff3 不同。
有关下列属性的说明,请参见 attributes(5):
|
diff(1)、attributes(5)、largefile(5)
对大于 64 KB 的文件无效。