Provided by: 9base_6-13_amd64 bug

NAME

       diff - differential file comparator

SYNOPSIS

       diff [ -acefmnbwr ] file1 ... file2

DESCRIPTION

       Diff  tells  what lines must be changed in two files to bring them into agreement.  If one
       file is a directory, then a file in that directory with basename the same as that  of  the
       other  file  is  used.   If  both  files are directories, similarly named files in the two
       directories are compared by the method of diff for text files and  cmp(1)  otherwise.   If
       more than two file names are given, then each argument is compared to the last argument as
       above.  The -r option causes diff to process similarly named  subdirectories  recursively.
       When  processing  more  than  one  file, diff prefixes file differences with a single line
       listing the two differing files, in the form of a diff command line.  The -m  flag  causes
       this behavior even when processing single files.

       The normal output contains lines of these forms:

            n1 a n3,n4
            n1,n2 d n3
            n1,n2 c n3,n4

       These  lines  resemble  ed  commands  to  convert file1 into file2.  The numbers after the
       letters pertain to file2.  In fact, by exchanging `a' for `d' and reading backward one may
       ascertain  equally  how to convert file2 into file1.  As in ed, identical pairs where n1 =
       n2 or n3 = n4 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 -w option causes all white-space to be  removed  from  input
       lines before applying the difference algorithm.

       The  -n  option  prefixes each range with file: and inserts a space around the a, c, and d
       verbs.  The -e option produces a script of a, c and d commands for the  editor  ed,  which
       will  recreate file2 from file1.  The -f option produces a similar script, not useful with
       ed, in the opposite order. It may, however, be useful as input to a stream-oriented  post-
       processor.

       The  -c  option  includes three lines of context around each change, merging changes whose
       contexts overlap.  The -a flag displays the entire file as context.

       Except in rare circumstances, diff finds a smallest sufficient set of file differences.

FILES

       /tmp/diff[12]

SOURCE

       /src/cmd/diff

SEE ALSO

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

DIAGNOSTICS

       Exit status is the empty string for no differences, for some, and for trouble.

BUGS

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

       When running diff on directories, the notion of what is a text file is open to debate.

                                                                                     DIFF(1plan9)