diff3 - 3-way differential file comparison
diff3 [ -exEX3 ] file1 file2 file3
Diff3 compares three versions of a file, and publishes disagreeing ranges of text flagged
with these codes:
==== all three files differ
====1 file1 is different
====2 file2 is different
====3 file3 is different
The type of change suffered in converting a given range of a given file to some other is
indicated in one of these ways:
f : n1 a Text is to be appended after line number n1 in file f, where f = 1, 2, or
f : n1 , n2 c Text is to be changed in the range line n1 to line n2. If n1 = n2, the
range may 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 sup-
Under the -e option, diff3 publishes a script for the editor ed that will incorporate into
file1 all changes between file2 and file3, i.e. the changes that normally would be
flagged ==== and ====3. Option -x (-3) produces a script to incorporate only changes
flagged ==== (====3). The following command will apply the resulting script to `file1'.
(cat script; echo '1,$p') | ed - file1
The -E and -X are similar to -e and -x, respectively, but treat overlapping changes (i.e.,
changes that would be flagged with ==== in the normal listing) differently. The overlap-
ping lines from both files will be inserted by the edit script, bracketed by "<<<<<<" and
For example, suppose lines 7-8 are changed in both file1 and file2. Applying the edit
script generated by the command
"diff3 -E file1 file2 file3"
to file1 results in the file:
rest of file1
The -E option is used by RCS merge(1) to insure that overlapping changes in the merged
files are preserved and brought to someone's attention.
Text lines that consist of a single `.' will defeat -e.
7th Edition October 21, 1996 DIFF3(1)