unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Page:
Section:
Apropos / Subsearch:
optional field



diff3(1)							     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

  -e  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).

  -x  Produces an edit script to incorporate only changes flagged ====.

  -E, -X
      These are	similar	to -e and -x, respectively, but	treat overlapping
      changes (that is,	changes	that are flagged ==== in the normal listing)
      differently.  The	overlapping lines from both files are inserted by the
      edit script, bracketed by	<&lt;<&lt;<&lt;<&lt;<&lt;<&lt; and >&gt;>&gt;>&gt;>&gt;>&gt;>&gt; 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.

  -3  Produces an edit script to incorporate 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.

  ====1
      file1 differs.

  ====2
      file2 differs.

  ====3
      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 output:

  file : number1 a
      Text is to be added after	line number number1 in file, where file	is 1,
      2, or 3.

  file : number1[,number2] c
      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

  /usr/lbin/diff3prog
      Helper program.

SEE ALSO

  Commands:  bdiff(1), cmp(1), comm(1),	diff(1), ed(1)