bdiff - big diff
bdiff filename1 filename2 [n] [-s]
bdiff is used in a manner analogous to diff to find which lines in filename1 and filename2 must be changed to bring the files into agreement. Its purpose is to allow processing of files too large for diff. If filename1 (filename2) is -, the standard input is read.
bdiff ignores lines common to the beginning of both files, splits the remainder of each file into n-line segments, and invokes diff on corresponding segments. If both optional arguments are specified, they must appear in the order indicated above.
The output of bdiff is exactly that of diff, with line numbers adjusted to account for the segmenting of the files (that is, to make it look as if the files had been processed whole). Note: Because of the segmenting of the files, bdiff does not necessarily find a smallest sufficient set of file differences.
|n||The number of line segments. The value of n is 3500 by default. If the optional third argument is given and it is numeric, it is used as the value for n. This is useful in those cases in which 3500-line segments are too large for diff, causing it to fail.|
|-s||Specifies that no diagnostics are to be printed by bdiff (silent option). Note: However, this does not suppress possible diagnostic messages from diff, which bdiff calls.|
See largefile(5) for the description of the behavior of bdiff when encountering files greater than or equal to 2 Gbyte (2^31 bytes).
See attributes(5) for descriptions of the following attributes:
|ATTRIBUTE TYPE||ATTRIBUTE VALUE|
diff(1), attributes(5), largefile(5)
Use help for explanations.
This version of bdiff(1) supports lines of arbitrary length and is able to deal with binary content (null bytes) in the files. It thus calls diff(1) with the -a option. The well known main caller of bdiff(1), which is sccs-delta(1), checks for binary content before calling bdiff(1). Previous versions of bdiff(1) did not check for binary content and silently discarded null bytes.