DIFF3(1) General Commands Manual DIFF3(1)NAME
diff3 - 3-way differential file comparison
SYNOPSIS
diff3 [ -ex3 ] file1 file2 file3
DESCRIPTION
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 3.
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 suppressed.
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
FILES
/tmp/d3?????
/usr/lib/diff3
SEE ALSO diff(1)BUGS
Text lines that consist of a single `.' will defeat -e.
Files longer than 64K bytes won't work.
DIFF3(1)
Check Out this Related Man Page
diff3(1) General Commands Manual diff3(1)NAME
diff3 - Compares three files
SYNOPSIS
diff3 [-e | -x | -E | -X | -3] file1 file2 file3
The diff3 command reads three versions of a file and writes to standard output the ranges of text that differ.
OPTIONS
Creates an edit script for use with the ed command to incorporate into file1 all changes between file2 and file3 (that is, the changes that
normally would be flagged ==== and ====3). Produces an edit script to incorporate only changes flagged ====. These are similar to -e and
-x, respectively, but treat overlapping changes (that is, changes that are flagged ==== in the normal listing) differently. The overlap-
ping lines from both files are inserted by the edit script, bracketed by <<<<<< and >>>>>> lines. The -E option is used by RCS merge to
ensure that overlapping changes in the merged files are preserved and brought to someone's attention. Produces an edit script to incorpo-
rate only changes flagged ====3.
DESCRIPTION
The diff3 command reads three versions of a file and writes to standard output the ranges of text that differ, flagged with the following
codes: All three files differ. file1 differs. file2 differs. file3 differs.
The type of change needed to convert a given range of a given file to match another file is indicated in one of these two ways in the out-
put: Text is to be added after line number number1 in file, where file is 1, 2, or 3. Text in the range line number1 to line number2 is to
be changed. If number1 = number2, the range may be abbreviated to number1.
The original contents of the range follow immediately after a c indication. When the contents of two files are identical, diff3 does not
show the contents of the lower-numbered file, although it shows the location of the identical lines for each.
NOTES
Editing scripts produced by the -e option cannot create lines consisting only of a single . (dot).
EXAMPLES
To list the differences among three files, enter: diff3 fruit.a fruit.b fruit.c
fruit.a, fruit.b, and fruit.c contain the following data:
fruit.a:
banana grape kiwi lemon mango orange peach pare
fruit.b:
apple banana grapefruit kiwi orange peach pear
fruit.c:
grape grapefruit kiwi lemon mango orange peach pear
The output from diff3 shows the differences between these files as follows. (The comments on the right do not appear in the output.)
==== All three files are different. 1:1,2c - Lines 1 and 2 of the first file, fruit.a
banana
grape 2:1,3c - Lines 1 through 3 of fruit.b
apple
banana
grapefruit 3:1,2c - Lines 1 and 2 of fruit.c
grape
grapefruit ====2 The second file, fruit.b, is different. 1:4,5c - Lines 4 and 5 are the same in fruit.a and fruit.c. 2:4a
3:4,5c - To make fruit.b look the same, add text after line 4.
lemon
mango ====1 The first file, fruit.a, is different. 1:8c
pare 2:7c - Line 7 of fruit.b and line 8 of fruit.c are the same. 3:8c
pear
FILES
Helper program.
SEE ALSO
Commands: bdiff(1), cmp(1), comm(1), diff(1), ed(1)diff3(1)