Compare two files, and if they differ, tells the first byte and line number where they differ.
You can use the `cmp’ command to show the offsets and line numbers where two files differ. `cmp’ can also show all the characters that differ between the two files, side by side.
Syntax cmp options... FromFile [ToFile] Options Multiple single letter options (unless they take an argument) can be combined into a single command line word: so `-cl' is equivalent to -c -l. -c Print the differing characters. Display control characters as a `^' followed by a letter of the alphabet and precede characters that have the high bit set with `M-' (which stands for "meta"). --ignore-initial=BYTES Ignore any differences in the the first BYTES bytes of the input files. Treat files with fewer than BYTES bytes as if they are empty. -l Print the (decimal) offsets and (octal) values of all differing bytes. --print-chars Print the differing characters. Display control characters as a `^' followed by a letter of the alphabet and precede characters that have the high bit set with `M-' (which stands for "meta"). --quiet -s --silent Do not print anything; only return an exit status indicating whether the files differ. --verbose Print the (decimal) offsets and (octal) values of all differing bytes. -v --version Output the version number of `cmp'. The file name `-' is always the standard input. `cmp' also uses the standard input if one file name is omitted. An exit status of 0 means no differences were found, 1 means some differences were found, and 2 means trouble.
$ cmp tnsnames.ora tnsnames.old
`cmp’ reports the differences between two files character by character, instead of line by line. As a result, it is more useful than `diff’ for comparing binary files. For text files, `cmp’ is useful mainly when you want to know only whether two files are identical.
For files that are identical, `cmp’ produces no output. When the files differ, by default, `cmp’ outputs the byte offset and line number where the first difference occurs. You can use the `-s’ option to suppress that information, so that `cmp’ produces no output and reports whether the files differ using only its exit status.
Unlike `diff’, `cmp’ cannot compare directories; it can only compare two files.
Related linux commands:
comm – Compare two sorted files line by line
diff – Display the differences between two files
diff3 – Show differences among three files
dircmp – Compare 2 directories
sdiff – merge two files interactively
Equivalent Windows commands: COMP / FC – Compare and display Characters/Lines which do not match.
(also the WINDIFF GUI)