diff(1)
_________________________________________________________________
diff Command
differential file comparator
_________________________________________________________________
SYNTAX
diff [ -efbh ] file1 file2
DESCRIPTION
Diff tells what lines must be changed in two files to bring them
into agreement. If file1 (file2) is -, the standard input is
used. If file1 (file2) is a directory, then a file in that
directory with the name file2 (file1) is used. The normal output
consists of a series of commands; each command is followed by the
lines it affects. The commands tell how to turn file1 into file2.
Just as in ed, arguments to the commands are numbers; either a
single number for num or a pair of numbers separated by a comma
(no spaces) for range (see the commands, below). A range that
refers to a single line appears as a single number. The lines
from file1 are prepended with <; from file2, with >.
The commands resemble ed commands:
numarange Append the range of lines from file2 after line
num in file1.
rangednum Delete the range of lines in file1. Num points
to the line in file2 last compared before the d
command was triggered.
range1crange2 Change. Replace range1 in file1 with range2 in
file2. In the output, both ranges of lines
appear after this command, one range at a time,
separated by a short line ().
The commands tell how to convert file1 into file2; however, by
exchanging a for d and reading backward, you can tell how to
convert file2 into file1.
Diff may appear to refer to lines that aren't there, especially
lines at the end of the file. It believes that trailing blank
lines are as significant as text.
Options are:
-b Ignores trailing blanks (spaces and tabs) and compares
other strings of blanks as equal.
DG/UX 4.00 Page 1
Licensed material--property of copyright holder(s)
diff(1)
-e Produces a script of a, c, and d commands for the editor
ed. If run through ed, they will turn file1 into file2
(see "EXAMPLES").
-f Produces a script in the same format that -e does, but in
reverse order. The script would not be meaningful to ed,
however.
-h Causes diff to do a fast, half-hearted job. Ranges of
nonidentical text are resolved with giant change commands
rather than a series of more precise append, change, and
delete commands. It works only when changed stretches
are short and well separated, but does work on files of
unlimited length. Options -e and -f cannot be used with
-h.
Except in rare circumstances, diff finds a smallest sufficient
set of file differences.
_________________________________________________________________
EXAMPLES
$ diff file1 file2
9a10
>file2
The above example shows that the only difference between file1
and file2 is line 10 of file2. The output from the diff command
states that to make file1 the same as file2, line 10 from file2
should be appended to file1 after line 9. The line that should
be appended is shown on the second output line. The string
"file2" should be inserted after line 9 of file1 to make file1
and file2 the same.
$ diff -e file1 file2 > edscriptfile
$ ( cat ed_script_file ; echo '1, $p' ) | ed - file1.new
$
The above example compares the two files, produces an ed script
to turn file1 into file2, and displays the results on the screen.
NOTE: The only commands that will be part of the script file are
a, c, and d commands.
_________________________________________________________________
FILES
DG/UX 4.00 Page 2
Licensed material--property of copyright holder(s)
diff(1)
possible temporary file /tmp/d?????
/usr/lib/diffh for -h
SEE ALSO
cmp(1), comm(1), diff3(1), diffmk(1), ed(1).
DIAGNOSTICS
Exit status is 0 for no differences, 1 for some differences, 2
for trouble.
BUGS
Editing scripts produced under the -e or -f option are naive
about creating lines consisting of a single period (.).
WARNINGS
Missing newline at end of file X
indicates that the last line of file X did not have a new-
line. If the lines are different, they will be flagged and
output, although the output will seem to indicate they are
the same.
DG/UX 4.00 Page 3
Licensed material--property of copyright holder(s)