Annotation of researchv10dc/man/man1/diff.1, revision 1.1

1.1     ! root        1: .TH DIFF 1
        !             2: .CT 1 files 
        !             3: .SH NAME
        !             4: diff, diff3 \- differential file comparison
        !             5: .SH SYNOPSIS
        !             6: .B diff
        !             7: [
        !             8: .I option ...
        !             9: ]
        !            10: .I file1 file2
        !            11: .PP
        !            12: .B diff3
        !            13: [
        !            14: .B \-ex3
        !            15: ]
        !            16: .I file1 file2 file3
        !            17: .SH DESCRIPTION
        !            18: When run on regular files
        !            19: .I diff
        !            20: tells what lines must be changed in the files to bring them into agreement.
        !            21: Except in rare circumstances,
        !            22: .I diff
        !            23: finds a smallest sufficient set of differences.
        !            24: If neither file
        !            25: is a directory, then one
        !            26: may be 
        !            27: .LR - ,
        !            28: meaning the standard input.
        !            29: If one file
        !            30: is a directory,
        !            31: then a file in that directory with basename the same as that of
        !            32: the other file is used.
        !            33: .PP
        !            34: If both files are directories,
        !            35: similarly named files in the two directories
        !            36: are compared by the method of
        !            37: .I diff
        !            38: for text files and
        !            39: .IR cmp (1)
        !            40: otherwise.
        !            41: Options when comparing directories are:
        !            42: .TP
        !            43: .B -r
        !            44: Apply
        !            45: .I diff
        !            46: recursively to similarly named subdirectories.
        !            47: .TP
        !            48: .B -s
        !            49: Report files that are the same (normally not mentioned).
        !            50: .PP
        !            51: There are several options for output format;
        !            52: the default output format contains lines of these forms:
        !            53: .IP
        !            54: .IB n1 a
        !            55: .IB n3 , n4
        !            56: .br
        !            57: .IB n1 , n2 d
        !            58: .I n3
        !            59: .br
        !            60: .IB n1 , n2 c
        !            61: .IB n3 , n4
        !            62: .PP
        !            63: These lines resemble
        !            64: .I ed
        !            65: commands to convert
        !            66: .I file1
        !            67: into
        !            68: .IR file2 .
        !            69: The numbers after the letters pertain to
        !            70: .IR file2 .
        !            71: In fact, by exchanging 
        !            72: .L a
        !            73: for 
        !            74: .L d
        !            75: and reading backward
        !            76: one may ascertain equally how to convert 
        !            77: .I file2
        !            78: into
        !            79: .IR file1 .
        !            80: As in 
        !            81: .I ed,
        !            82: identical pairs where
        !            83: .IR n1 = n2
        !            84: or
        !            85: .I n3 = n4
        !            86: are abbreviated as a single number.
        !            87: .PP
        !            88: Following each of these lines come all the lines that are
        !            89: affected in the first file flagged by 
        !            90: .LR < ,
        !            91: then all the lines that are affected in the second file
        !            92: flagged by 
        !            93: .LR > .
        !            94: .PP
        !            95: .TP
        !            96: .B -e
        !            97: Produce a script of
        !            98: .LR a ,
        !            99: .LR c ,
        !           100: and 
        !           101: .L d
        !           102: for
        !           103: .IR ed (1)
        !           104: to recreate
        !           105: .I file2
        !           106: from
        !           107: .IR file1 .
        !           108: When comparing directories, produce a
        !           109: .IR sh (1)
        !           110: script to convert text files common to the two directories.
        !           111: .TP
        !           112: .BI -c n
        !           113: Include
        !           114: .I n
        !           115: extra lines of context with each set of differences.
        !           116: The output format is modified:
        !           117: the output begins with identification of the files involved and
        !           118: their creation dates and changes are separated
        !           119: by lines of *'s.
        !           120: Lines removed from
        !           121: .I file1
        !           122: are marked with
        !           123: .LR - ;
        !           124: those added to
        !           125: .I file2
        !           126: are marked 
        !           127: .LR + .
        !           128: Lines which are changed from one
        !           129: file to the other are marked in both files with 
        !           130: .LR ! .
        !           131: .TP
        !           132: .B -h
        !           133: Do a fast, half-hearted job,
        !           134: useful only when changed stretches are short
        !           135: and well separated,
        !           136: but does work on files of unlimited length.
        !           137: .TP
        !           138: .B -b
        !           139: Ignore trailing blanks (spaces and tabs) and treat other
        !           140: strings of blanks as if they were a single space. 
        !           141: .TP
        !           142: .B -B
        !           143: Ignore all blanks.
        !           144: .PP
        !           145: .I Diff3
        !           146: compares three versions of a file
        !           147: and publishes the various disagreeing ranges of text.
        !           148: One of the following indicators introduces each reported
        !           149: difference.
        !           150: .TP
        !           151: .B ====
        !           152: All three files differ.
        !           153: .TP
        !           154: .BI ==== f
        !           155: File
        !           156: .I f
        !           157: differs, where
        !           158: .I f
        !           159: is 1, 2, or 3.
        !           160: .PP
        !           161: Disagreeing fragments from the three files follow the
        !           162: .B ====
        !           163: line, each identified by a
        !           164: .IR diff -like
        !           165: range indication:
        !           166: .TP
        !           167: .IB f  :  n1  a
        !           168: File
        !           169: .I f
        !           170: lacks text that other files have; their text would
        !           171: be appended after line
        !           172: .I n1.
        !           173: .TP
        !           174: .IB f : n1 , n2 c
        !           175: .br
        !           176: .ns
        !           177: .TP
        !           178: .IB f : n1 c
        !           179: Lines
        !           180: .I n1
        !           181: through
        !           182: .I n2
        !           183: (or line
        !           184: .I n1
        !           185: only) of file
        !           186: .I f
        !           187: would have to be changed to agree with some other file.
        !           188: The original contents follow, unless a higher-numbered file
        !           189: has the same contents.
        !           190: .PP
        !           191: Under option
        !           192: .BR -e ,
        !           193: .I diff3
        !           194: publishes a script for 
        !           195: .IR ed (1)
        !           196: that will incorporate into
        !           197: .I file1
        !           198: all changes between
        !           199: .I file2
        !           200: and
        !           201: .I file3,
        !           202: i.e. the changes that normally would be flagged 
        !           203: .B ====
        !           204: and
        !           205: .BR ====3 .
        !           206: Option
        !           207: .B \-x
        !           208: (\fB\-3\fR)
        !           209: produces a script to incorporate
        !           210: only changes flagged 
        !           211: .B ====
        !           212: .RB ( ====3 ).
        !           213: .SH EXAMPLES
        !           214: .TP
        !           215: .L
        !           216: (cat diff0-1 diff1-2 diff2-3; echo '1,$p') | ed - file0 >file3
        !           217: An ancestral
        !           218: .L file0
        !           219: has been kept along with a chain of version-to-version
        !           220: difference files made thus:
        !           221: .LR "diff -e file0 file1 >diff0-1" .
        !           222: The shell command reconstructs the latest version.
        !           223: .PP
        !           224: .EX
        !           225: if diff3 mod1 old mod2 | grep -s '^====$'
        !           226: then :
        !           227: else (diff3 -e mod1 old mod2; echo '1,$p') | ed - mod1 >new
        !           228: fi
        !           229: .EE
        !           230: .PD0
        !           231: .IP
        !           232: Compare two different modified versions with an old file.
        !           233: If no modifications interfere with each other
        !           234: .RI ( grep
        !           235: finds no 
        !           236: .B ====
        !           237: lines), make a new file incorporating both modifications.
        !           238: .PD
        !           239: .SH FILES
        !           240: .F /tmp/d*
        !           241: .br
        !           242: .F /usr/lib/diffh
        !           243: for 
        !           244: .B -h
        !           245: .br
        !           246: .F /usr/lib/diff3
        !           247: .SH "SEE ALSO"
        !           248: .IR cmp (1),
        !           249: .IR comm (1), 
        !           250: .IR ed (1),
        !           251: .IR idiff (1)
        !           252: .SH DIAGNOSTICS
        !           253: .I Diff
        !           254: yields exit status is 0 for no differences, 1 for some, 2 for trouble.
        !           255: .SH BUGS
        !           256: Text lines that consist of a single `.' will
        !           257: defeat options
        !           258: .BR -e ,
        !           259: .BR -x ,
        !           260: and
        !           261: .BR -3 .
        !           262: .br
        !           263: Superfluous output may result for files that differ
        !           264: only in insignificant blanks when comparing directories
        !           265: under option
        !           266: .BR -b .
        !           267: .br
        !           268: Option
        !           269: .B -c
        !           270: is unpardonably bizarre.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.