glenda.party
term% ls -F
term% pwd
$home/manuals/9front/1/diff
term% cat index.txt
DIFF(1)                     General Commands Manual                    DIFF(1)

NAME
       diff - differential file comparator

SYNOPSIS
       diff [ -abcefmnrw ] 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 simi‐
       larly  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 num‐
       bers  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 differ‐
       ence 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  oppo‐
       site  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, merg‐
       ing changes whose contexts overlap.  In this mode, diff prints and  in‐
       stead  of  and because the former are easier to distinguish when mixed.
       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
       /sys/src/cmd/diff

SEE ALSO
       cmp(1), comm(1), ed(1), idiff(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 cre‐
       ating lines consisting of a single ‘.'.

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

                                                                       DIFF(1)