9srv Manual Collection/plan9/diff(1) | 9srv Manual Collection/plan9/diff(1) |
---|
The normal output contains lines of these forms:
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. In this mode, diff prints - and + instead 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.
When running diff on directories, the notion of what is a text file is open to debate.
9srv Manual Collection/plan9/diff(1) | Rev: Wed Jun 03 20:14:04 BST 2009 |