converted man page
[unix-history] / usr / src / usr.bin / cmp / cmp.1
.\" Copyright (c) 1987, 1990 The Regents of the University of California.
.\" All rights reserved.
.\"
.\" %sccs.include.redist.man%
.\"
.\" @(#)cmp.1 6.3 (Berkeley) %G%
.\"
.Dd
.Dt CMP 1
.Os BSD 4.4
.Sh NAME
.Nm cmp
.Nd compare two files
.Sh SYNOPSIS
.Nm cmp
.Op Fl l Fl s
.Ar file1 file2
.Sh DESCRIPTION
The cmp utility compares two files.
Under default options,
cmp writes no output if the files are the same; if they
differ, it writes to standard output the byte and line
number at which the first difference occurred.
Bytes and
lines are numbered beginning with one.
.Pp
The following options are available:
.Tp Fl l
Print the byte number (decimal) and the differing
bytes (octal) for each difference.
.Tp Fl s
Print nothing for differing files; return exit
status only.
.Tp
.Pp
Nothing is guaranteed if both
.Fl s
and
.Fl l
are given.
.Pp
The following operands are available:
.Tw file1
.Tp Ar file1
A pathname of the first file to be compared.
If
.Ar file1
is
.Cx Fl
.Cx ,
.Cx
the standard input is used.
.Tp Ar file2
A pathname of the second file to be compared.
.Tp
.Pp
The input files can be any file type.
.Pp
Results of the comparison are written to standard output.
When no options are used, the format is:
.Pp
.Ds I
"%s %s differ: char %d, line %d\en", <file1>,
<file2>, <byte number>, <line number>
.De
.Pp
When the
.Fl l
option is used, the format is:
.Pp
.Ds I
"%d %o %o\en", <byte number>, <differing byte>,
<differing byte>
.De
.Pp
for each byte that differs. The first byte number is from
file1 while the second is from file2.
.Pp
If file1 and file2 are identical for the entire length of
the shorter file, the following format is used, unless the
.Fl s
option is specified.
.Pp
.Ds I
"cmp: EOF on %s\en", <name of shorter file>
.De
.Pp
No output is written to standard output when the
.Fl s option
is used.
.Pp
The
.Nm cmp
utility exits with one of the following values:
.Tw Fl
.Tp 0
The files are identical.
.Tp 1
The files are different; this includes the case
where one file is identical to the first part of
the other.
In the latter case, if the -s option has
not been specified, cmp writes to standard error
that EOF was reached in the shorter file (before
any differences were found).
.Tp >1
An error occurred.
.Tp
.Sh SEE ALSO
diff 1 ,
diff3 1
.Sh STANDARDS
The
.Nm cmp
function is expected to be POSIX 1003.2 compatible.