Go to main content

man pages section 1: User Commands

Exit Print View

Updated: July 2017
 
 

diff3(1)

Name

diff3 - 3-way differential file comparison

Synopsis

diff3 [-exEX3] filename1 filename2 filename3

Description

diff3 compares three versions of a file. It publishes disagreeing ranges of text flagged with the following codes:

====

all three files differ

====1

filename1is different

====2

filename2is different

====3

filename3is different

The type of change suffered in converting a given range of a given file to some other is indicated in one of the following ways:

f : n1 a

Text is to be appended after line number n1 in file f, where f = 1, 2, or 3.

f : n1 , n2 c

Text is to be changed in the range line n1 to line n2. If n1 = n2, the range can be abbreviated to n1.

The original contents of the range follows immediately after a c indication. When the contents of two files are identical, the contents of the lower-numbered file is suppressed.

The following command applies the resulting script to filename1.

(cat script; echo ´1,$p´) | ed − filename1

Options

The following options are supported:

–e

Produce a script for the ed(1) editor that incorporates into filename1 all changes between filename2 and filename3 (that is, the changes that normally would be flagged ==== and ====3).

Text lines that consist of a single dot (. defeat the –e option.

–E

Produce a script that incorporates all changes between filename2 and filename3, but treat overlapping changes (that is, changes that would be flagged with ==== in the normal listing) differently. The overlapping lines from both files are inserted by the edit script, bracketed by <<<<<< and >>>>>> lines.

–x

Produce a script to incorporate only changes flagged ====.

–X

Produce a script that incorporates only changes flagged ====, but treat these changes in the manner of the –E option.

–3

Produce a script to incorporate only changes flagged ====3.

Usage

See largefile(5) for the description of the behavior of diff3 when encountering files greater than or equal to 2 Gbyte ( 2 31 bytes).

Files

/tmp/d3*

/usr/lib/diff3prog

Exit Status

The following exit values are returned:

0

Successful completion.

1

An error occurred. A difference was found or there was a fatal error.

>1

A fatal error occurred.

Return values do not work the same as diff(1) or other vendor's versions of diff3.

Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Availability
system/core-os
CSI
Enabled

See Also

diff(1), attributes(5), largefile(5)

Notes

Files longer than 64 Kbytes do not work.