297 lines
9.9 KiB
HTML
297 lines
9.9 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html>
|
|
<head>
|
|
<meta name="generator" content="HTML Tidy, see www.w3.org">
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
<link type="text/css" rel="stylesheet" href="style.css"><!-- Generated by The Open Group's rhtm tool v1.2.1 -->
|
|
<!-- Copyright (c) 2001 The Open Group, All Rights Reserved -->
|
|
<title>cmp</title>
|
|
</head>
|
|
<body bgcolor="white">
|
|
<script type="text/javascript" language="JavaScript" src="../jscript/codes.js">
|
|
</script>
|
|
|
|
<basefont size="3"> <a name="cmp"></a> <a name="tag_04_21"></a><!-- cmp -->
|
|
<!--header start-->
|
|
<center><font size="2">The Open Group Base Specifications Issue 6<br>
|
|
IEEE Std 1003.1-2001<br>
|
|
Copyright © 2001 The IEEE and The Open Group, All Rights reserved.</font></center>
|
|
|
|
<!--header end-->
|
|
<hr size="2" noshade>
|
|
<h4><a name="tag_04_21_01"></a>NAME</h4>
|
|
|
|
<blockquote>cmp - compare two files</blockquote>
|
|
|
|
<h4><a name="tag_04_21_02"></a>SYNOPSIS</h4>
|
|
|
|
<blockquote class="synopsis">
|
|
<p><code><tt>cmp</tt> <b>[</b> <tt>-l | -s</tt> <b>]</b> <i>file1 file2</i></code></p>
|
|
</blockquote>
|
|
|
|
<h4><a name="tag_04_21_03"></a>DESCRIPTION</h4>
|
|
|
|
<blockquote>
|
|
<p>The <i>cmp</i> utility shall compare two files. The <i>cmp</i> utility shall write no output if the files are the same. Under
|
|
default options, if they differ, it shall write to standard output the byte and line number at which the first difference occurred.
|
|
Bytes and lines shall be numbered beginning with 1.</p>
|
|
</blockquote>
|
|
|
|
<h4><a name="tag_04_21_04"></a>OPTIONS</h4>
|
|
|
|
<blockquote>
|
|
<p>The <i>cmp</i> utility shall conform to the Base Definitions volume of IEEE Std 1003.1-2001, <a href=
|
|
"../basedefs/xbd_chap12.html#tag_12_02">Section 12.2, Utility Syntax Guidelines</a>.</p>
|
|
|
|
<p>The following options shall be supported:</p>
|
|
|
|
<dl compact>
|
|
<dt><b>-l</b></dt>
|
|
|
|
<dd>(Lowercase ell.) Write the byte number (decimal) and the differing bytes (octal) for each difference.</dd>
|
|
|
|
<dt><b>-s</b></dt>
|
|
|
|
<dd>Write nothing for differing files; return exit status only.</dd>
|
|
</dl>
|
|
</blockquote>
|
|
|
|
<h4><a name="tag_04_21_05"></a>OPERANDS</h4>
|
|
|
|
<blockquote>
|
|
<p>The following operands shall be supported:</p>
|
|
|
|
<dl compact>
|
|
<dt><i>file1</i></dt>
|
|
|
|
<dd>A pathname of the first file to be compared. If <i>file1</i> is <tt>'-'</tt> , the standard input shall be used.</dd>
|
|
|
|
<dt><i>file2</i></dt>
|
|
|
|
<dd>A pathname of the second file to be compared. If <i>file2</i> is <tt>'-'</tt> , the standard input shall be used.</dd>
|
|
</dl>
|
|
|
|
<p>If both <i>file1</i> and <i>file2</i> refer to standard input or refer to the same FIFO special, block special, or character
|
|
special file, the results are undefined.</p>
|
|
</blockquote>
|
|
|
|
<h4><a name="tag_04_21_06"></a>STDIN</h4>
|
|
|
|
<blockquote>
|
|
<p>The standard input shall be used only if the <i>file1</i> or <i>file2</i> operand refers to standard input. See the INPUT FILES
|
|
section.</p>
|
|
</blockquote>
|
|
|
|
<h4><a name="tag_04_21_07"></a>INPUT FILES</h4>
|
|
|
|
<blockquote>
|
|
<p>The input files can be any file type.</p>
|
|
</blockquote>
|
|
|
|
<h4><a name="tag_04_21_08"></a>ENVIRONMENT VARIABLES</h4>
|
|
|
|
<blockquote>
|
|
<p>The following environment variables shall affect the execution of <i>cmp</i>:</p>
|
|
|
|
<dl compact>
|
|
<dt><i>LANG</i></dt>
|
|
|
|
<dd>Provide a default value for the internationalization variables that are unset or null. (See the Base Definitions volume of
|
|
IEEE Std 1003.1-2001, <a href="../basedefs/xbd_chap08.html#tag_08_02">Section 8.2, Internationalization Variables</a> for
|
|
the precedence of internationalization variables used to determine the values of locale categories.)</dd>
|
|
|
|
<dt><i>LC_ALL</i></dt>
|
|
|
|
<dd>If set to a non-empty string value, override the values of all the other internationalization variables.</dd>
|
|
|
|
<dt><i>LC_CTYPE</i></dt>
|
|
|
|
<dd>Determine the locale for the interpretation of sequences of bytes of text data as characters (for example, single-byte as
|
|
opposed to multi-byte characters in arguments).</dd>
|
|
|
|
<dt><i>LC_MESSAGES</i></dt>
|
|
|
|
<dd>Determine the locale that should be used to affect the format and contents of diagnostic messages written to standard error and
|
|
informative messages written to standard output.</dd>
|
|
|
|
<dt><i>NLSPATH</i></dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
Determine the location of message catalogs for the processing of <i>LC_MESSAGES .</i> <img src="../images/opt-end.gif" alt=
|
|
"[Option End]" border="0"></dd>
|
|
</dl>
|
|
</blockquote>
|
|
|
|
<h4><a name="tag_04_21_09"></a>ASYNCHRONOUS EVENTS</h4>
|
|
|
|
<blockquote>
|
|
<p>Default.</p>
|
|
</blockquote>
|
|
|
|
<h4><a name="tag_04_21_10"></a>STDOUT</h4>
|
|
|
|
<blockquote>
|
|
<p>In the POSIX locale, results of the comparison shall be written to standard output. When no options are used, the format shall
|
|
be:</p>
|
|
|
|
<pre>
|
|
<tt>"%s %s differ: char %d, line %d\n",</tt> <i>file1</i><tt>,</tt> <i>file2</i><tt>,
|
|
<</tt><i>byte number</i><tt>>, <</tt><i>line number</i><tt>>
|
|
</tt>
|
|
</pre>
|
|
|
|
<p>When the <b>-l</b> option is used, the format shall be:</p>
|
|
|
|
<pre>
|
|
<tt>"%d %o %o\n", <</tt><i>byte number</i><tt>>, <</tt><i>differing byte</i><tt>>,
|
|
<</tt><i>differing byte</i><tt>>
|
|
</tt>
|
|
</pre>
|
|
|
|
<p>for each byte that differs. The first <<i>differing byte</i>> number is from <i>file1</i> while the second is from
|
|
<i>file2</i>. In both cases, <<i>byte number</i>> shall be relative to the beginning of the file, beginning with 1.</p>
|
|
|
|
<p>No output shall be written to standard output when the <b>-s</b> option is used.</p>
|
|
</blockquote>
|
|
|
|
<h4><a name="tag_04_21_11"></a>STDERR</h4>
|
|
|
|
<blockquote>
|
|
<p>The standard error shall be used only for diagnostic messages. If <i>file1</i> and <i>file2</i> are identical for the entire
|
|
length of the shorter file, in the POSIX locale the following diagnostic message shall be written, unless the <b>-s</b> option is
|
|
specified:</p>
|
|
|
|
<pre>
|
|
<tt>"cmp: EOF on %s%s\n", <</tt><i>name of shorter file</i><tt>>, <</tt><i>additional info</i><tt>>
|
|
</tt>
|
|
</pre>
|
|
|
|
<p>The <<i>additional info</i>> field shall either be null or a string that starts with a <blank> and contains no
|
|
<newline>s. Some implementations report on the number of lines in this case.</p>
|
|
</blockquote>
|
|
|
|
<h4><a name="tag_04_21_12"></a>OUTPUT FILES</h4>
|
|
|
|
<blockquote>
|
|
<p>None.</p>
|
|
</blockquote>
|
|
|
|
<h4><a name="tag_04_21_13"></a>EXTENDED DESCRIPTION</h4>
|
|
|
|
<blockquote>
|
|
<p>None.</p>
|
|
</blockquote>
|
|
|
|
<h4><a name="tag_04_21_14"></a>EXIT STATUS</h4>
|
|
|
|
<blockquote>
|
|
<p>The following exit values shall be returned:</p>
|
|
|
|
<dl compact>
|
|
<dt> 0</dt>
|
|
|
|
<dd>The files are identical.</dd>
|
|
|
|
<dt> 1</dt>
|
|
|
|
<dd>The files are different; this includes the case where one file is identical to the first part of the other.</dd>
|
|
|
|
<dt>>1</dt>
|
|
|
|
<dd>An error occurred.</dd>
|
|
</dl>
|
|
</blockquote>
|
|
|
|
<h4><a name="tag_04_21_15"></a>CONSEQUENCES OF ERRORS</h4>
|
|
|
|
<blockquote>
|
|
<p>Default.</p>
|
|
</blockquote>
|
|
|
|
<hr>
|
|
<div class="box"><em>The following sections are informative.</em></div>
|
|
|
|
<h4><a name="tag_04_21_16"></a>APPLICATION USAGE</h4>
|
|
|
|
<blockquote>
|
|
<p>Although input files to <i>cmp</i> can be any type, the results might not be what would be expected on character special device
|
|
files or on file types not described by the System Interfaces volume of IEEE Std 1003.1-2001. Since this volume of
|
|
IEEE Std 1003.1-2001 does not specify the block size used when doing input, comparisons of character special files need
|
|
not compare all of the data in those files.</p>
|
|
|
|
<p>For files which are not text files, line numbers simply reflect the presence of a <newline>, without any implication that
|
|
the file is organized into lines.</p>
|
|
</blockquote>
|
|
|
|
<h4><a name="tag_04_21_17"></a>EXAMPLES</h4>
|
|
|
|
<blockquote>
|
|
<p>None.</p>
|
|
</blockquote>
|
|
|
|
<h4><a name="tag_04_21_18"></a>RATIONALE</h4>
|
|
|
|
<blockquote>
|
|
<p>The global language in <a href="xcu_chap01.html#tag_01_11"><i>Utility Description Defaults</i></a> indicates that using two
|
|
mutually-exclusive options together produces unspecified results. Some System V implementations consider the option usage:</p>
|
|
|
|
<pre>
|
|
<tt>cmp -l -s ...
|
|
</tt>
|
|
</pre>
|
|
|
|
<p>to be an error. They also treat:</p>
|
|
|
|
<pre>
|
|
<tt>cmp -s -l ...
|
|
</tt>
|
|
</pre>
|
|
|
|
<p>as if no options were specified. Both of these behaviors are considered bugs, but are allowed.</p>
|
|
|
|
<p>The word <b>char</b> in the standard output format comes from historical usage, even though it is actually a byte number. When
|
|
<i>cmp</i> is supported in other locales, implementations are encouraged to use the word <i>byte</i> or its equivalent in another
|
|
language. Users should not interpret this difference to indicate that the functionality of the utility changed between locales.</p>
|
|
|
|
<p>Some implementations report on the number of lines in the identical-but-shorter file case. This is allowed by the inclusion of
|
|
the <<i>additional info</i>> fields in the output format. The restriction on having a leading <blank> and no
|
|
<newline>s is to make parsing for the filename easier. It is recognized that some filenames containing white-space characters
|
|
make parsing difficult anyway, but the restriction does aid programs used on systems where the names are predominantly well
|
|
behaved.</p>
|
|
</blockquote>
|
|
|
|
<h4><a name="tag_04_21_19"></a>FUTURE DIRECTIONS</h4>
|
|
|
|
<blockquote>
|
|
<p>None.</p>
|
|
</blockquote>
|
|
|
|
<h4><a name="tag_04_21_20"></a>SEE ALSO</h4>
|
|
|
|
<blockquote>
|
|
<p><a href="comm.html"><i>comm</i></a> , <a href="diff.html"><i>diff</i></a></p>
|
|
</blockquote>
|
|
|
|
<h4><a name="tag_04_21_21"></a>CHANGE HISTORY</h4>
|
|
|
|
<blockquote>
|
|
<p>First released in Issue 2.</p>
|
|
</blockquote>
|
|
|
|
<div class="box"><em>End of informative text.</em></div>
|
|
|
|
<hr>
|
|
<hr size="2" noshade>
|
|
<center><font size="2"><!--footer start-->
|
|
UNIX ® is a registered Trademark of The Open Group.<br>
|
|
POSIX ® is a registered Trademark of The IEEE.<br>
|
|
[ <a href="../mindex.html">Main Index</a> | <a href="../basedefs/contents.html">XBD</a> | <a href=
|
|
"../utilities/contents.html">XCU</a> | <a href="../functions/contents.html">XSH</a> | <a href="../xrat/contents.html">XRAT</a>
|
|
]</font></center>
|
|
|
|
<!--footer end-->
|
|
<hr size="2" noshade>
|
|
</body>
|
|
</html>
|
|
|