'\" te .\" Copyright 1989 AT&T Copyright (c) 2005, Sun Microsystems, Inc. All Rights Reserved .TH diff3 1 "2005 年 11 月 7 日" "SunOS 5.11" "用户命令" .SH 名称 diff3 \- 对文件进行 3 向差别比较 .SH 用法概要 .LP .nf \fBdiff3\fR [\fB-exEX3\fR] \fIfilename1\fR \fIfilename2\fR \fIfilename3\fR .fi .SH 描述 .sp .LP \fBdiff3\fR 比较一个文件的三个版本。发布文本的不一致范围时,用以下代码标记: .sp .ne 2 .mk .na \fB\fB====\fR\fR .ad .RS 9n .rt 全部三个文件都不同 .RE .sp .ne 2 .mk .na \fB\fB====1\fR\fR .ad .RS 9n .rt \fIfilename1\fR 不同 .RE .sp .ne 2 .mk .na \fB\fB====2\fR\fR .ad .RS 9n .rt \fIfilename2\fR 不同 .RE .sp .ne 2 .mk .na \fB\fB====3\fR\fR .ad .RS 9n .rt \fIfilename3\fR 不同 .RE .sp .LP 将某个指定文件的指定范围转换到某个其他文件时发生的更改类型通过以下方式之一指示: .sp .ne 2 .mk .na \fB\fIf\fR\fB : \fR\fIn1\fR\fB a\fR\fR .ad .RS 17n .rt 在文件 \fIf\fR 中的行号 \fIn1\fR 之后将附加文本,其中 \fIf\fR = 1、2 或 3。 .RE .sp .ne 2 .mk .na \fB\fIf\fR\fB : \fR\fIn1\fR\fB , \fR\fIn2\fR\fB c\fR\fR .ad .RS 17n .rt 在第 \fIn1\fR 行到第 \fIn2\fR 行的范围内的文本将更改。如果 \fIn1\fR = \fIn\fR2,则该范围可缩略成 \fIn1\fR。 .RE .sp .LP 该范围的原始内容紧跟在 \fBc\fR 标识之后。当两个文件的内容完全相同时,将隐藏编号较小的文件的内容。 .sp .LP 以下命令将生成的脚本应用于 \fIfilename1\fR。 .sp .in +2 .nf \fB(cat script; echo a\'1,$pa\') | ed \(mi \fR\fIfilename1\fR .fi .in -2 .sp .SH 选项 .sp .LP 支持以下选项: .sp .ne 2 .mk .na \fB\fB-e\fR \fR .ad .RS 7n .rt 为 \fBed\fR(1) 编辑器生成一个脚本,将 \fIfilename2\fR 与 \fIfilename3\fR 间的所有更改合并到 \fIfilename1\fR 中(即通常标记为 \fB====\fR 和 \fB====3\fR 的更改)。 .sp 由单个点 (\fB\&.\fR) 组成的文本行将使 \fB-e\fR 选项失效。 .RE .sp .ne 2 .mk .na \fB\fB-E\fR \fR .ad .RS 7n .rt 产生一个包含 \fIfilename2\fR 与 \fIfilename3\fR 之间的所有更改的脚本,但区别对待重叠的更改(即在常规列表中标记为 \fB====\fR 的更改)。两个文件中的重叠行通过编辑脚本插入,并用 \fB<<<<<<\fR 和 \fB>>>>>>\fR 行括起。 .RE .sp .ne 2 .mk .na \fB\fB-x\fR\fR .ad .RS 7n .rt 产生一个仅包含标记为 \fB====\fR 的更改的脚本。 .RE .sp .ne 2 .mk .na \fB\fB-X\fR \fR .ad .RS 7n .rt 产生一个仅包含标记为 \fB====\fR 的更改的脚本,但采用 \fB-E\fR 选项的方式对待这些更改。 .RE .sp .ne 2 .mk .na \fB\fB-3\fR\fR .ad .RS 7n .rt 产生一个仅包含标记为 \fB====3\fR 的更改的脚本。 .RE .SH 用法 .sp .LP 有关 \fBdiff3\fR 遇到大于或等于 2 GB(2^31 字节)文件时行为的说明,请参见 \fBlargefile\fR(5)。 .SH 文件 .sp .ne 2 .mk .na \fB\fB/tmp/d3*\fR \fR .ad .RS 23n .rt .RE .sp .ne 2 .mk .na \fB\fB/usr/lib/diff3prog\fR \fR .ad .RS 23n .rt .RE .SH 退出状态 .sp .LP 将返回以下退出值: .sp .ne 2 .mk .na \fB\fB0\fR\fR .ad .RS 6n .rt 成功完成。 .RE .sp .ne 2 .mk .na \fB\fB1\fR\fR .ad .RS 6n .rt 出现错误。发现差异,或者存在致命错误。 .RE .sp .ne 2 .mk .na \fB\fB>1\fR\fR .ad .RS 6n .rt 发生了致命错误。 .RE .sp .LP 返回值的效果与 \fBdiff\fR(1) 或其他供应商版本的 \fBdiff3\fR 不同。 .SH 属性 .sp .LP 有关下列属性的说明,请参见 \fBattributes\fR(5): .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性类型属性值 _ 可用性system/core-os _ CSIEnabled(已启用) .TE .SH 另请参见 .sp .LP \fBdiff\fR(1)、\fBattributes\fR(5)、\fBlargefile\fR(5) .SH 附注 .sp .LP 对大于 64 KB 的文件无效。