32v 1m diff

From Computer History Wiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

DIFF(1) UNIX Programmer's Manual DIFF(1)


NAME

    diff - differential file comparator

SYNOPSIS

    diff [ -efbh ] file1 file2

DESCRIPTION

    _D_i_f_f tells what lines must be changed in two files to bring
    them into agreement.  If _f_i_l_e_1 (_f_i_l_e_2) is `-', the standard
    input is used.  If _f_i_l_e_1 (_f_i_l_e_2) is a directory, then a file
    in that directory whose file-name is the same as the file-
    name of _f_i_l_e_2 (_f_i_l_e_1) is used.  The normal output contains
    lines of these forms:
         _n_1 a _n_3,_n_4
         _n_1,_n_2 d _n_3
         _n_1,_n_2 c _n_3,_n_4
    These lines resemble _e_d commands to convert _f_i_l_e_1 into
    _f_i_l_e_2.  The numbers after the letters pertain to _f_i_l_e_2.  In
    fact, by exchanging `a' for `d' and reading backward one may
    ascertain equally how to convert _f_i_l_e_2 into _f_i_l_e_1.  As in
    _e_d, identical pairs where _n_1 = _n_2 or _n_3 = _n_4 are abbreviated
    as a single number.
    Following each of these lines come all the lines that are
    affected in the first file flagged by `<', then all the
    lines that are affected in the second file flagged by `>'.
    The -b option causes trailing blanks (spaces and tabs) to be
    ignored and other strings of blanks to compare equal.
    The -e option produces a script of _a, _c and _d commands for
    the editor _e_d, which will recreate _f_i_l_e_2 from _f_i_l_e_1.  The -f
    option produces a similar script, not useful with _e_d, in the
    opposite order.  In connection with -e, the following shell
    program may help maintain multiple versions of a file.  Only
    an ancestral file ($1) and a chain of version-to-version _e_d
    scripts ($2,$3,...) made by _d_i_f_f need be on hand.  A `latest
    version' appears on the standard output.
         (shift; cat $*; echo '1,$p') | ed - $1
    Except in rare circumstances, _d_i_f_f finds a smallest suffi-
    cient set of file differences.
    Option -h does a fast, half-hearted job.  It works only when
    changed stretches are short and well separated, but does
    work on files of unlimited length.  Options -e and -f are
    unavailable with -h.

FILES

    /tmp/d?????
    /usr/lib/diffh for -h

SEE ALSO

    cmp(1), comm(1), ed(1)

DIAGNOSTICS

    Exit status is 0 for no differences, 1 for some, 2 for trou-
    ble.

BUGS

    Editing scripts produced under the -e or -f option are naive
    about creating lines consisting of a single `.'.