isposix

Un outil pour savoir si une commande est posix - retour accueil

git clone git://bebou.netlib.re/isposix
Log | Files | Refs | README |

find.html (46652B)


      1 <!-- Copyright 2001-2024 IEEE and The Open Group, All Rights Reserved -->
      2 <!DOCTYPE HTML>
      3 <html lang="en">
      4 <head>
      5 <meta name="generator" content="HTML Tidy for HTML5 for Linux version 5.8.0">
      6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      7 <link type="text/css" rel="stylesheet" href="style.css"><!-- Generated by The Open Group rhtm tool v1.2.4 -->
      8 <!-- Copyright (c) 2001-2024 The Open Group, All Rights Reserved -->
      9 <title>find</title>
     10 </head>
     11 <body bgcolor="white">
     12 <div class="NAVHEADER">
     13 <table summary="Header navigation table" class="nav" width="100%" border="0" cellpadding="0" cellspacing="0">
     14 <tr class="nav">
     15 <td class="nav" width="15%" align="left" valign="bottom"><a href="../utilities/file.html" accesskey="P">&lt;&lt;&lt;
     16 Previous</a></td>
     17 <td class="nav" width="70%" align="center" valign="bottom"><a href="contents.html">Home</a></td>
     18 <td class="nav" width="15%" align="right" valign="bottom"><a href="../utilities/fold.html" accesskey="N">Next &gt;&gt;&gt;</a></td>
     19 </tr>
     20 </table>
     21 <hr align="left" width="100%"></div>
     22 <script language="JavaScript" src="../jscript/codes.js"></script><basefont size="3">
     23 <center><font size="2">The Open Group Base Specifications Issue 8<br>
     24 IEEE Std 1003.1-2024<br>
     25 Copyright © 2001-2024 The IEEE and The Open Group</font></center>
     26 <hr size="2" noshade>
     27 <a name="top" id="top"></a> <a name="find" id="find"></a> <a name="tag_20_47" id="tag_20_47"></a><!-- find -->
     28 <h4 class="mansect"><a name="tag_20_47_01" id="tag_20_47_01"></a>NAME</h4>
     29 <blockquote>find — find files</blockquote>
     30 <h4 class="mansect"><a name="tag_20_47_02" id="tag_20_47_02"></a>SYNOPSIS</h4>
     31 <blockquote class="synopsis">
     32 <p><code><tt>find</tt> <b>[</b><tt>-H|-L</tt><b>]</b> <i>path</i><tt>...</tt> <b>[</b><i>operand_expression</i><tt>...</tt><b>]</b></code></p>
     33 </blockquote>
     34 <h4 class="mansect"><a name="tag_20_47_03" id="tag_20_47_03"></a>DESCRIPTION</h4>
     35 <blockquote>
     36 <p>The <i>find</i> utility shall recursively descend the directory hierarchy from each file specified by <i>path</i>, evaluating a
     37 Boolean expression composed of the primaries described in the OPERANDS section for each file encountered. Each <i>path</i> operand
     38 shall be evaluated unaltered as it was provided, including all trailing &lt;slash&gt; characters; all pathnames for other files
     39 encountered in the hierarchy shall consist of the concatenation of the current <i>path</i> operand, a &lt;slash&gt; if the current
     40 <i>path</i> operand did not end in one, and the filename relative to the <i>path</i> operand. The relative portion shall contain no
     41 dot or dot-dot components, no trailing &lt;slash&gt; characters, and only single &lt;slash&gt; characters between pathname
     42 components.</p>
     43 <p>The <i>find</i> utility shall be able to descend to arbitrary depths in a file hierarchy and shall not fail due to path length
     44 limitations (unless a <i>path</i> operand specified by the application exceeds {PATH_MAX} requirements).</p>
     45 <p>The <i>find</i> utility shall detect infinite loops; that is, entering a previously visited directory that is an ancestor of the
     46 last file encountered. When it detects an infinite loop, <i>find</i> shall write a diagnostic message to standard error and shall
     47 either recover its position in the hierarchy or terminate. In either case, the final exit status shall be non-zero.</p>
     48 <p>If a file is removed from or added to the directory hierarchy being searched it is unspecified whether or not <i>find</i>
     49 includes that file in its search.</p>
     50 </blockquote>
     51 <h4 class="mansect"><a name="tag_20_47_04" id="tag_20_47_04"></a>OPTIONS</h4>
     52 <blockquote>
     53 <p>The <i>find</i> utility shall conform to XBD <a href="../basedefs/V1_chap12.html#tag_12_02"><i>12.2 Utility Syntax
     54 Guidelines</i></a> .</p>
     55 <p>The following options shall be supported by the implementation:</p>
     56 <dl compact>
     57 <dd></dd>
     58 <dt><b>-H</b></dt>
     59 <dd>Cause the file information and file type evaluated for each symbolic link encountered as a <i>path</i> operand on the command
     60 line to be those of the file referenced by the link, and not the link itself. If the referenced file does not exist, the file
     61 information and type shall be for the link itself. File information and type for symbolic links encountered during the traversal of
     62 a file hierarchy shall be that of the link itself.</dd>
     63 <dt><b>-L</b></dt>
     64 <dd>Cause the file information and file type evaluated for each symbolic link encountered as a <i>path</i> operand on the command
     65 line or encountered during the traversal of a file hierarchy to be those of the file referenced by the link, and not the link
     66 itself. If the referenced file does not exist, the file information and type shall be for the link itself.</dd>
     67 </dl>
     68 <p>Specifying more than one of the mutually-exclusive options <b>-H</b> and <b>-L</b> shall not be considered an error. The last
     69 option specified shall determine the behavior of the utility. If neither the <b>-H</b> nor the <b>-L</b> option is specified, then
     70 the file information and type for symbolic links encountered as a <i>path</i> operand on the command line or encountered during the
     71 traversal of a file hierarchy shall be that of the link itself.</p>
     72 </blockquote>
     73 <h4 class="mansect"><a name="tag_20_47_05" id="tag_20_47_05"></a>OPERANDS</h4>
     74 <blockquote>
     75 <p>The following operands shall be supported:</p>
     76 <p>The first operand and subsequent operands up to but not including the first operand that starts with a <tt>'-'</tt>, or is a
     77 <tt>'!'</tt> or a <tt>'('</tt>, shall be interpreted as <i>path</i> operands. If the first operand starts with a <tt>'-'</tt>, or
     78 is a <tt>'!'</tt> or a <tt>'('</tt>, the behavior is unspecified. Each <i>path</i> operand is a pathname of a starting point in the
     79 file hierarchy.</p>
     80 <p>The first operand that starts with a <tt>'-'</tt>, or is a <tt>'!'</tt> or a <tt>'('</tt>, and all subsequent arguments shall be
     81 interpreted as an <i>expression</i> made up of the following primaries and operators. In the descriptions, wherever <i>n</i> is
     82 used as a primary argument, it shall be interpreted as a decimal integer optionally preceded by a &lt;plus-sign&gt; (<tt>'+'</tt>)
     83 or &lt;hyphen-minus&gt; (<tt>'-'</tt>), as follows:</p>
     84 <dl compact>
     85 <dd></dd>
     86 <dt>+<i>n</i></dt>
     87 <dd>More than <i>n</i>.</dd>
     88 <dt><i>n</i></dt>
     89 <dd>Exactly <i>n</i>.</dd>
     90 <dt>-<i>n</i></dt>
     91 <dd>Less than <i>n</i>.</dd>
     92 </dl>
     93 <p>The following primaries shall be supported:</p>
     94 <dl compact>
     95 <dd></dd>
     96 <dt><b>-name&nbsp;</b><i>pattern</i></dt>
     97 <dd><br>
     98 The primary shall evaluate as true if the basename of the current pathname matches <i>pattern</i> using the pattern matching
     99 notation described in <a href="../utilities/V3_chap02.html#tag_19_14"><i>2.14 Pattern Matching Notation</i></a> . The additional
    100 rules in <a href="../utilities/V3_chap02.html#tag_19_14_03"><i>2.14.3 Patterns Used for Filename Expansion</i></a> do not apply as
    101 this is a matching operation, not an expansion.</dd>
    102 <dt><b>-iname&nbsp;</b><i>pattern</i></dt>
    103 <dd><br>
    104 The <b>-iname</b> primary shall be equivalent to <b>-name</b>, except that the match shall be case insensitive. See XBD <a href=
    105 "../basedefs/V1_chap04.html#tag_04_01"><i>4.1 Case Insensitive Comparisons</i></a> .</dd>
    106 <dt><b>-path&nbsp;</b><i>pattern</i></dt>
    107 <dd><br>
    108 The primary shall evaluate as true if the current pathname matches <i>pattern</i> using the pattern matching notation described in
    109 <a href="../utilities/V3_chap02.html#tag_19_14"><i>2.14 Pattern Matching Notation</i></a> . The additional rules in <a href=
    110 "../utilities/V3_chap02.html#tag_19_14_03"><i>2.14.3 Patterns Used for Filename Expansion</i></a> do not apply as this is a
    111 matching operation, not an expansion.</dd>
    112 <dt><b>-nouser</b></dt>
    113 <dd>The primary shall evaluate as true if the file belongs to a user ID for which the <a href=
    114 "../functions/getpwuid.html"><i>getpwuid</i>()</a> function defined in the System Interfaces volume of POSIX.1-2024 (or equivalent)
    115 returns NULL.</dd>
    116 <dt><b>-nogroup</b></dt>
    117 <dd>The primary shall evaluate as true if the file belongs to a group ID for which the <a href=
    118 "../functions/getgrgid.html"><i>getgrgid</i>()</a> function defined in the System Interfaces volume of POSIX.1-2024 (or equivalent)
    119 returns NULL.</dd>
    120 <dt><b>-mount</b></dt>
    121 <dd>The primary shall always evaluate as true; it shall cause <i>find</i> to act only on files that have the same device ID
    122 (<i>st_dev</i>, see XSH <a href="../functions/fstatat.html#"><i>fstatat</i></a> ) as the <i>path</i> operand below which they are
    123 encountered and cause <i>find</i> not to descend below directories that have a different device ID than that <i>path</i> operand.
    124 If any <b>-mount</b> primary is specified, it shall apply to the entire expression even if the <b>-mount</b> primary would not
    125 normally be evaluated.</dd>
    126 <dt><b>-xdev</b></dt>
    127 <dd>The primary shall always evaluate as true; it shall cause <i>find</i> not to descend below directories that have a different
    128 device ID (<i>st_dev</i>, see XSH <a href="../functions/fstatat.html#"><i>fstatat</i></a> ) than the <i>path</i> operand below
    129 which they are encountered; that is, when a directory with a different device ID is encountered, <i>find</i> shall act on the
    130 directory itself (unless <b>-mount</b> is specified) but shall not act on any files below the directory. If any <b>-xdev</b>
    131 primary is specified, it shall apply to the entire expression even if the <b>-xdev</b> primary would not normally be
    132 evaluated.</dd>
    133 <dt><b>-prune</b></dt>
    134 <dd>The primary shall always evaluate as true; it shall cause <i>find</i> not to descend the current pathname if it is a directory.
    135 If the <b>-depth</b> primary is specified, the <b>-prune</b> primary shall have no effect.</dd>
    136 <dt><b>-perm&nbsp;[-]</b><i>mode</i></dt>
    137 <dd><br>
    138 The <i>mode</i> argument is used to represent file mode bits. It shall be processed in an identical manner to the
    139 <i>symbolic_mode</i> operand described in <a href="../utilities/chmod.html"><i>chmod</i></a>, except that:
    140 <ol>
    141 <li>
    142 <p>The changes to file mode bits shall be applied to a template instead of to any files. The template shall initially have all file
    143 mode bits cleared.</p>
    144 </li>
    145 <li>
    146 <p>The <i>op</i> symbol <tt>'-'</tt> cannot be the first character of <i>mode</i>; this avoids ambiguity with the optional leading
    147 &lt;hyphen-minus&gt;. Since the initial mode is all bits off, there are not any symbolic modes that need to use <tt>'-'</tt> as the
    148 first character.</p>
    149 </li>
    150 </ol>
    151 <p>If the &lt;hyphen-minus&gt; is omitted, the primary shall evaluate as true when the file permission bits exactly match the value
    152 of the resulting template.</p>
    153 <p>Otherwise, if <i>mode</i> is prefixed by a &lt;hyphen-minus&gt;, the primary shall evaluate as true if at least all the bits in
    154 the resulting template are set in the file permission bits.</p>
    155 </dd>
    156 <dt><b>-perm&nbsp;[-]</b><i>onum</i></dt>
    157 <dd><br>
    158 If the &lt;hyphen-minus&gt; is omitted, the primary shall evaluate as true when the file mode bits exactly match the value of the
    159 octal number <i>onum</i> (see the description of the octal <i>mode</i> in <a href="../utilities/chmod.html"><i>chmod</i></a>).
    160 Otherwise, if <i>onum</i> is prefixed by a &lt;hyphen-minus&gt;, the primary shall evaluate as true if at least all of the bits
    161 specified in <i>onum</i> are set. In both cases, the behavior is unspecified when <i>onum</i> exceeds 07777.</dd>
    162 <dt><b>-type&nbsp;</b><i>c</i></dt>
    163 <dd>The primary shall evaluate as true if the type of the file is <i>c</i>, where <i>c</i> is <tt>'b'</tt>, <tt>'c'</tt>,
    164 <tt>'d'</tt>, <tt>'l'</tt>, <tt>'p'</tt>, <tt>'f'</tt>, or <tt>'s'</tt> for block special file, character special file, directory,
    165 symbolic link, FIFO, regular file, or socket, respectively.</dd>
    166 <dt><b>-links&nbsp;</b><i>n</i></dt>
    167 <dd>The primary shall evaluate as true if the file has <i>n</i> links.</dd>
    168 <dt><b>-user&nbsp;</b><i>uname</i></dt>
    169 <dd>The primary shall evaluate as true if the file belongs to the user <i>uname.</i> If <i>uname</i> is a decimal integer and the
    170 <a href="../functions/getpwnam.html"><i>getpwnam</i>()</a> (or equivalent) function does not return a valid user name, <i>uname</i>
    171 shall be interpreted as a user ID.</dd>
    172 <dt><b>-group&nbsp;</b><i>gname</i></dt>
    173 <dd><br>
    174 The primary shall evaluate as true if the file belongs to the group <i>gname</i>. If <i>gname</i> is a decimal integer and the
    175 <a href="../functions/getgrnam.html"><i>getgrnam</i>()</a> (or equivalent) function does not return a valid group name,
    176 <i>gname</i> shall be interpreted as a group ID.</dd>
    177 <dt><b>-size&nbsp;</b><i>n</i><b>[c]</b></dt>
    178 <dd>The primary shall evaluate as true if the file size in bytes, divided by 512 and rounded up to the next integer, is <i>n</i>.
    179 If <i>n</i> is followed by the character <tt>'c'</tt>, the size shall be in bytes.</dd>
    180 <dt><b>-atime&nbsp;</b><i>n</i></dt>
    181 <dd>The primary shall evaluate as true if the file access time subtracted from the initialization time, divided by 86400 (with any
    182 remainder discarded), is <i>n</i>.</dd>
    183 <dt><b>-ctime&nbsp;</b><i>n</i></dt>
    184 <dd>The primary shall evaluate as true if the time of last change of file status information subtracted from the initialization
    185 time, divided by 86400 (with any remainder discarded), is <i>n</i>.</dd>
    186 <dt><b>-mtime&nbsp;</b><i>n</i></dt>
    187 <dd>The primary shall evaluate as true if the file modification time subtracted from the initialization time, divided by 86400
    188 (with any remainder discarded), is <i>n</i>.</dd>
    189 <dt><b>-exec&nbsp;</b><i>utility_name&nbsp;</i><b>[</b><i>argument</i>&nbsp;...<b>]&nbsp;;</b></dt>
    190 <dd></dd>
    191 <dt><b>-exec&nbsp;</b><i>utility_name&nbsp;</i><b>[</b><i>argument</i>&nbsp;...<b>]&nbsp;&nbsp;</b>{}&nbsp;+</dt>
    192 <dd><br>
    193 The end of the primary expression shall be punctuated by a &lt;semicolon&gt; or by a &lt;plus-sign&gt;. Only a &lt;plus-sign&gt;
    194 that immediately follows an argument containing only the two characters <tt>"{}"</tt> shall punctuate the end of the primary
    195 expression. Other uses of the &lt;plus-sign&gt; shall not be treated as special.
    196 <p>If the primary expression is punctuated by a &lt;semicolon&gt;, the utility <i>utility_name</i> shall be invoked once for each
    197 pathname and the primary shall evaluate as true if the utility returns a zero value as exit status. A <i>utility_name</i> or
    198 <i>argument</i> containing only the two characters <tt>"{}"</tt> shall be replaced by the current pathname. If a
    199 <i>utility_name</i> or <i>argument</i> string contains the two characters <tt>"{}"</tt>, but not just the two characters
    200 <tt>"{}"</tt>, it is implementation-defined whether <i>find</i> replaces those two characters or uses the string without
    201 change.</p>
    202 <p>If the primary expression is punctuated by a &lt;plus-sign&gt;, the primary shall always evaluate as true, and the pathnames for
    203 which the primary is evaluated shall be aggregated into sets. The utility <i>utility_name</i> shall be invoked once for each set of
    204 aggregated pathnames. Each invocation shall begin after the last pathname in the set is aggregated, and shall be completed before
    205 the <i>find</i> utility exits and before the first pathname in the next set (if any) is aggregated for this primary, but it is
    206 otherwise unspecified whether the invocation occurs before, during, or after the evaluations of other primaries. If any invocation
    207 returns a non-zero value as exit status, the <i>find</i> utility shall return a non-zero exit status. An argument containing only
    208 the two characters <tt>"{}"</tt> shall be replaced by the set of aggregated pathnames, with each pathname passed as a separate
    209 argument to the invoked utility in the same order that it was aggregated. The size of any set of two or more pathnames shall be
    210 limited such that execution of the utility does not cause the system's {ARG_MAX} limit to be exceeded. If more than one argument
    211 containing the two characters <tt>"{}"</tt> is present, the behavior is unspecified.</p>
    212 <p>The current directory for the invocation of <i>utility_name</i> shall be the same as the current directory when the <i>find</i>
    213 utility was started. If the <i>utility_name</i> names any of the special built-in utilities (see <a href=
    214 "../utilities/V3_chap02.html#tag_19_15"><i>2.15 Special Built-In Utilities</i></a> ), the results are undefined.</p>
    215 </dd>
    216 <dt><b>-ok&nbsp;</b><i>utility_name&nbsp;</i><b>[</b><i>argument</i>&nbsp;...<b>]&nbsp;;</b></dt>
    217 <dd><br>
    218 The <b>-ok</b> primary shall be equivalent to <b>-exec</b>, except that the use of a &lt;plus-sign&gt; to punctuate the end of the
    219 primary expression need not be supported, and <i>find</i> shall request affirmation of the invocation of <i>utility_name</i> using
    220 the current file as an argument by writing to standard error as described in the STDERR section. If the response on standard input
    221 is affirmative, the utility shall be invoked. Otherwise, the command shall not be invoked and the value of the <b>-ok</b> operand
    222 shall be false.</dd>
    223 <dt><b>-print</b></dt>
    224 <dd>The primary shall always evaluate as true; it shall cause the current pathname to be written to standard output, followed by a
    225 &lt;newline&gt;.</dd>
    226 <dt><b>-print0</b></dt>
    227 <dd>The primary shall always evaluate as true; it shall cause the current pathname to be written to standard output, followed by a
    228 null byte.</dd>
    229 <dt><b>-newer&nbsp;</b><i>file</i></dt>
    230 <dd>The primary shall evaluate as true if the modification time of the current file is more recent than the modification time of
    231 the file named by the pathname <i>file</i>. If <i>file</i> names a symbolic link, the modification time used shall be that of the
    232 file referenced by the symbolic link if either the <b>-H</b> or <b>-L</b> option is specified; if neither <b>-H</b> nor <b>-L</b>
    233 is specified, it is unspecified whether the modification time is that of the symbolic link itself or of the file referenced by the
    234 symbolic link. In either case, if the referenced file does not exist, the modification time used shall be that of the link itself.
    235 If <i>file</i> is a relative pathname, it shall be resolved relative to the current working directory that was inherited by
    236 <i>find</i> when it was invoked.</dd>
    237 <dt><b>-depth</b></dt>
    238 <dd>The primary shall always evaluate as true; it shall cause descent of the directory hierarchy to be done so that all entries in
    239 a directory are acted on before the directory itself. If a <b>-depth</b> primary is not specified, all entries in a directory shall
    240 be acted on after the directory itself. If any <b>-depth</b> primary is specified, it shall apply to the entire expression even if
    241 the <b>-depth</b> primary would not normally be evaluated.</dd>
    242 </dl>
    243 <p>The primaries can be combined using the following operators (in order of decreasing precedence):</p>
    244 <dl compact>
    245 <dd></dd>
    246 <dt>(&nbsp;<i>expression</i>&nbsp;)</dt>
    247 <dd>True if <i>expression</i> is true.</dd>
    248 <dt><b>!&nbsp;</b><i>expression</i></dt>
    249 <dd>Negation of a primary; the unary NOT operator.</dd>
    250 <dt><i>expression&nbsp;</i><b>[-a]&nbsp;</b><i>expression</i></dt>
    251 <dd><br>
    252 Conjunction of primaries; the AND operator is implied by the juxtaposition of two primaries or made explicit by the optional
    253 <b>-a</b> operator. The second expression shall not be evaluated if the first expression is false.</dd>
    254 <dt><i>expression&nbsp;</i><b>-o&nbsp;</b><i>expression</i></dt>
    255 <dd><br>
    256 Alternation of primaries; the OR operator. The second expression shall not be evaluated if the first expression is true.</dd>
    257 </dl>
    258 <p>If no <i>expression</i> is present, <b>-print</b> shall be used as the expression. Otherwise, if the given expression does not
    259 contain any of the primaries <b>-exec</b>, <b>-ok</b>, or <b>-print</b>, the given expression shall be effectively replaced by:</p>
    260 <pre>
    261 <tt>( </tt><i>given_expression</i><tt> ) -print
    262 </tt></pre>
    263 <p>The <b>-user</b>, <b>-group</b>, and <b>-newer</b> primaries each shall evaluate their respective arguments only once.</p>
    264 <p>When the file type evaluated for the current file is a symbolic link, the results of evaluating the <b>-perm</b> primary are
    265 implementation-defined.</p>
    266 </blockquote>
    267 <h4 class="mansect"><a name="tag_20_47_06" id="tag_20_47_06"></a>STDIN</h4>
    268 <blockquote>
    269 <p>If the <b>-ok</b> primary is used, the response shall be read from the standard input. An entire line shall be read as the
    270 response. Otherwise, the standard input shall not be used.</p>
    271 </blockquote>
    272 <h4 class="mansect"><a name="tag_20_47_07" id="tag_20_47_07"></a>INPUT FILES</h4>
    273 <blockquote>
    274 <p>None.</p>
    275 </blockquote>
    276 <h4 class="mansect"><a name="tag_20_47_08" id="tag_20_47_08"></a>ENVIRONMENT VARIABLES</h4>
    277 <blockquote>
    278 <p>The following environment variables shall affect the execution of <i>find</i>:</p>
    279 <dl compact>
    280 <dd></dd>
    281 <dt><i>LANG</i></dt>
    282 <dd>Provide a default value for the internationalization variables that are unset or null. (See XBD <a href=
    283 "../basedefs/V1_chap08.html#tag_08_02"><i>8.2 Internationalization Variables</i></a> for the precedence of internationalization
    284 variables used to determine the values of locale categories.)</dd>
    285 <dt><i>LC_ALL</i></dt>
    286 <dd>If set to a non-empty string value, override the values of all the other internationalization variables.</dd>
    287 <dt><i>LC_COLLATE</i></dt>
    288 <dd><br>
    289 Determine the locale for the behavior of ranges, equivalence classes, and multi-character collating elements used in the pattern
    290 matching notation for the <b>-name</b>, <b>-iname</b>, and <b>-path</b> primaries and in the extended regular expression defined
    291 for the <b>yesexpr</b> locale keyword in the <i>LC_MESSAGES</i> category.</dd>
    292 <dt><i>LC_CTYPE</i></dt>
    293 <dd>This variable determines the locale for the interpretation of sequences of bytes of text data as characters (for example,
    294 single-byte as opposed to multi-byte characters in arguments), the behavior of character classes within the pattern matching
    295 notation used for the <b>-name</b>, <b>-iname</b>, and <b>-path</b> primaries, and the behavior of character classes within regular
    296 expressions used in the extended regular expression defined for the <b>yesexpr</b> locale keyword in the <i>LC_MESSAGES</i>
    297 category.</dd>
    298 <dt><i>LC_MESSAGES</i></dt>
    299 <dd><br>
    300 Determine the locale used to process affirmative responses, and the locale used to affect the format and contents of diagnostic
    301 messages and prompts written to standard error.</dd>
    302 <dt><i>NLSPATH</i></dt>
    303 <dd><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
    304 Determine the location of messages objects and message catalogs. <img src="../images/opt-end.gif" alt="[Option End]" border=
    305 "0"></dd>
    306 <dt><i>PATH</i></dt>
    307 <dd>Determine the location of the <i>utility_name</i> for the <b>-exec</b> and <b>-ok</b> primaries, as described in XBD <a href=
    308 "../basedefs/V1_chap08.html#tag_08"><i>8. Environment Variables</i></a> .</dd>
    309 </dl>
    310 </blockquote>
    311 <h4 class="mansect"><a name="tag_20_47_09" id="tag_20_47_09"></a>ASYNCHRONOUS EVENTS</h4>
    312 <blockquote>
    313 <p>Default.</p>
    314 </blockquote>
    315 <h4 class="mansect"><a name="tag_20_47_10" id="tag_20_47_10"></a>STDOUT</h4>
    316 <blockquote>
    317 <p>The <b>-print</b> primary shall cause the current pathname to be written to standard output. The format shall be:</p>
    318 <pre>
    319 <tt>"%s\n", &lt;</tt><i>path</i><tt>&gt;
    320 </tt></pre>
    321 <p>The <b>-print0</b> primary shall cause the current pathname to be written to standard output, followed by a null byte.</p>
    322 </blockquote>
    323 <h4 class="mansect"><a name="tag_20_47_11" id="tag_20_47_11"></a>STDERR</h4>
    324 <blockquote>
    325 <p>The <b>-ok</b> primary shall write a prompt to standard error containing at least the <i>utility_name</i> to be invoked and the
    326 current pathname. In the POSIX locale, the last non-&lt;blank&gt; in the prompt shall be <tt>'?'</tt>. The exact format used is
    327 unspecified.</p>
    328 <p>Otherwise, the standard error shall be used only for diagnostic messages.</p>
    329 </blockquote>
    330 <h4 class="mansect"><a name="tag_20_47_12" id="tag_20_47_12"></a>OUTPUT FILES</h4>
    331 <blockquote>
    332 <p>None.</p>
    333 </blockquote>
    334 <h4 class="mansect"><a name="tag_20_47_13" id="tag_20_47_13"></a>EXTENDED DESCRIPTION</h4>
    335 <blockquote>
    336 <p>None.</p>
    337 </blockquote>
    338 <h4 class="mansect"><a name="tag_20_47_14" id="tag_20_47_14"></a>EXIT STATUS</h4>
    339 <blockquote>
    340 <p>The following exit values shall be returned:</p>
    341 <dl compact>
    342 <dd></dd>
    343 <dt>&nbsp;0</dt>
    344 <dd>All <i>path</i> operands were traversed successfully, the output (if any) specified in STDOUT was successfully written to
    345 standard output, and all commands (if any) executed using the <b>-exec</b> primary punctuated by a &lt;plus-sign&gt; exited with
    346 exit status 0.</dd>
    347 <dt>&gt;0</dt>
    348 <dd>A command executed using the <b>-exec</b> primary punctuated by a &lt;plus-sign&gt; exited with non-zero status, or an error
    349 occurred.</dd>
    350 </dl>
    351 </blockquote>
    352 <h4 class="mansect"><a name="tag_20_47_15" id="tag_20_47_15"></a>CONSEQUENCES OF ERRORS</h4>
    353 <blockquote>
    354 <p>Default.</p>
    355 </blockquote>
    356 <hr>
    357 <div class="box"><em>The following sections are informative.</em></div>
    358 <h4 class="mansect"><a name="tag_20_47_16" id="tag_20_47_16"></a>APPLICATION USAGE</h4>
    359 <blockquote>
    360 <p>When used in operands, pattern matching notation, &lt;semicolon&gt;, &lt;left-parenthesis&gt;, and &lt;right-parenthesis&gt;
    361 characters are special to the shell and must be quoted (see <a href="../utilities/V3_chap02.html#tag_19_02"><i>2.2 Quoting</i></a>
    362 ).</p>
    363 <p>When restricting the search to files on one file system, it can sometimes be desirable for the crossing points themselves to be
    364 acted on and sometimes for them not to be acted on. (Crossing points are mount points and, if the <b>-L</b> option is specified,
    365 symbolic links to directories on other file systems.) The <b>-xdev</b> primary acts on them and the <b>-mount</b> primary does not.
    366 However, <b>-mount</b> also does not act on symbolic links to non-directory files on other file systems (if <b>-L</b> is
    367 specified). If there is a need for an application to exclude crossing points but include symbolic links to non-directory files on
    368 other file systems, this can be achieved by using two <i>find</i> commands as follows:</p>
    369 <pre>
    370 <tt>find -L dir -mount -type d -print
    371 find -L dir -xdev ! -type d -print
    372 </tt></pre>
    373 <p>(in a subshell whose output is piped to <a href="../utilities/sort.html"><i>sort</i></a>, if the order matters).</p>
    374 <p>If both <b>-mount</b> and <b>-xdev</b> are specified, <i>find</i> obeys both primaries but the end result is the same as if
    375 <b>-xdev</b> were not specified.</p>
    376 <p>The bit that is traditionally used for sticky (historically 01000) is specified in the <b>-perm</b> primary using the octal
    377 number argument form. Since this bit is not defined by this volume of POSIX.1-2024, applications must not assume that it actually
    378 refers to the traditional sticky bit.</p>
    379 </blockquote>
    380 <h4 class="mansect"><a name="tag_20_47_17" id="tag_20_47_17"></a>EXAMPLES</h4>
    381 <blockquote>
    382 <ol>
    383 <li>
    384 <p>The following commands are equivalent:</p>
    385 <pre>
    386 <tt>find .
    387 find . -print
    388 </tt></pre>
    389 <p>They both write out the entire directory hierarchy from the current directory.</p>
    390 <p>With this output format, if any pathnames include &lt;newline&gt; characters, it is not possible to tell where each pathname
    391 begins and ends. This problem can be avoided by omitting such pathnames:</p>
    392 <pre>
    393 <tt>LC_ALL=POSIX find . -name $'*\n*' -prune -o -print
    394 </tt></pre>
    395 <p>or by using a sentinel in the pathname that <i>find</i> would never otherwise produce, such as:</p>
    396 <pre>
    397 <tt>find .//. -print
    398 </tt></pre>
    399 <p>or by using <b>-print0</b> instead of <b>-print</b> and processing the output with a utility that can accept null-terminated
    400 pathnames as input, such as <a href="../utilities/xargs.html"><i>xargs</i></a> with the <b>-0</b> option or <a href=
    401 "../utilities/read.html"><i>read</i></a> with <b>-d</b> <tt>""</tt>, for example:</p>
    402 <pre>
    403 <tt>find . -print0 | while IFS= read -rd "" file
    404 do
    405     # process "$file"
    406 done
    407 </tt></pre>
    408 <p>It should be noted that using <i>find</i> with <b>-print0</b> to pipe input to <a href=
    409 "../utilities/xargs.html"><i>xargs</i></a> <b>-r0</b> is less safe than using <i>find</i> with <b>-exec</b> because if <i>find</i>
    410 <b>-print0</b> is terminated after it has written a partial pathname, the partial pathname may be processed as if it was a complete
    411 pathname.</p>
    412 </li>
    413 <li>
    414 <p>The following command:</p>
    415 <pre>
    416 <tt>find / \( -name tmp -o -name '*.xx' \) ! -type d -mtime +7 \
    417     -exec rm {} +
    418 </tt></pre>
    419 <p>removes all files named <b>tmp</b> or ending in <b>.xx</b> that have not been modified for more than seven (that is, eight or
    420 more) 24-hour periods.</p>
    421 </li>
    422 <li>
    423 <p>The following command:</p>
    424 <pre>
    425 <tt>find . -perm -o+w,+s
    426 </tt></pre>
    427 <p>prints (<b>-print</b> is assumed) the names of all files in or below the current directory, with all of the file permission bits
    428 S_ISUID, S_ISGID, and S_IWOTH set, regardless of the value of the file creation mask. (Note that the file creation mask is only
    429 specified for the file permission bits, and not S_ISUID, S_ISGID or S_ISVTX.)</p>
    430 </li>
    431 <li>
    432 <p>The following command:</p>
    433 <pre>
    434 <tt>find . -perm -+w
    435 </tt></pre>
    436 <p>prints (<b>-print</b> is assumed) the names of all files in or below the current directory, with S_IWUSR set if the file
    437 creation mask does not have S_IWUSR set (otherwise the S_IWUSR bit is ignored), S_IWGRP set if the file creation mask does not have
    438 S_IWGRP set (otherwise S_IWGRP is ignored), and S_IWOTH set if the file creation mask does not have S_IWOTH set (otherwise S_IWOTH
    439 is ignored).</p>
    440 </li>
    441 <li>
    442 <p>The following command:</p>
    443 <pre>
    444 <tt>find . -name SCCS -prune -o -print
    445 </tt></pre>
    446 <p>recursively prints pathnames of all files in the current directory and below, but skips directories named SCCS and files in
    447 them.</p>
    448 </li>
    449 <li>
    450 <p>The following command:</p>
    451 <pre>
    452 <tt>find . -print -name SCCS -prune
    453 </tt></pre>
    454 <p>behaves as in the previous example, but prints the names of the SCCS directories.</p>
    455 </li>
    456 <li>
    457 <p>The following command is roughly equivalent to the <b>-nt</b> extension to <a href="../utilities/test.html"><i>test</i></a>:</p>
    458 <pre>
    459 <tt>if [ -n "$(find file1 -prune -newer file2)" ]; then
    460     printf %s\\n "file1 is newer than file2"
    461 fi
    462 </tt></pre></li>
    463 <li>
    464 <p>The descriptions of <b>-atime</b>, <b>-ctime</b>, and <b>-mtime</b> use the terminology <i>n</i> &quot;86400 second periods
    465 (days)&quot;. For example, a file accessed at 23:59 is selected by:</p>
    466 <pre>
    467 <tt>find . -atime -1 -print
    468 </tt></pre>
    469 <p>at 00:01 the next day (less than 24 hours later, not more than one day ago); the midnight boundary between days has no effect on
    470 the 24-hour calculation.</p>
    471 </li>
    472 <li>
    473 <p>The following command:</p>
    474 <pre>
    475 <tt>find . ! -name . -prune -name '*.old' -exec \
    476     sh -c 'mv "$@" ../old/' sh {} +
    477 </tt></pre>
    478 <p>performs the same task as:</p>
    479 <pre>
    480 <tt>mv ./*.old ./.old ./.*.old ../old/
    481 </tt></pre>
    482 <p>while avoiding an &quot;Argument list too long&quot; error if there are a large number of files ending with <b>.old</b> and without
    483 running <a href="../utilities/mv.html"><i>mv</i></a> if there are no such files (and avoiding &quot;No such file or directory&quot; errors
    484 if <b>./.old</b> does not exist or no files match <b>./*.old</b> or <b>./.*.old</b>).</p>
    485 <p>The alternative:</p>
    486 <pre>
    487 <tt>find . ! -name . -prune -name '*.old' -exec mv {} ../old/ \;
    488 </tt></pre>
    489 <p>is less efficient if there are many files to move because it executes one <a href="../utilities/mv.html"><i>mv</i></a> command
    490 per file.</p>
    491 </li>
    492 <li>
    493 <p>On systems configured to mount removable media on directories under <b>/media</b>, the following command searches the file
    494 hierarchy for files of size larger than 100000 KiB without searching any mounted removable media:</p>
    495 <pre>
    496 <tt>find / -path /media -prune -o -size +200000 -print
    497 </tt></pre></li>
    498 <li>
    499 <p>Except for the root directory, and <tt>"//"</tt> on implementations where <tt>"//"</tt> does not refer to the root directory, no
    500 pattern given to <b>-name</b> will match a &lt;slash&gt;, because trailing &lt;slash&gt; characters are ignored when computing the
    501 basename of the file under evaluation. Given two empty directories named <b>foo</b> and <b>bar</b>, the following command:</p>
    502 <pre>
    503 <tt>find foo/// bar/// -name foo -o -name 'bar?*'
    504 </tt></pre>
    505 <p>prints only the line <tt>"foo///"</tt>.</p>
    506 </li>
    507 </ol>
    508 </blockquote>
    509 <h4 class="mansect"><a name="tag_20_47_18" id="tag_20_47_18"></a>RATIONALE</h4>
    510 <blockquote>
    511 <p>The <b>-a</b> operator was retained as an optional operator for compatibility with historical shell scripts, even though it is
    512 redundant with expression concatenation.</p>
    513 <p>The descriptions of the <tt>'-'</tt> modifier on the <i>mode</i> and <i>onum</i> arguments to the <b>-perm</b> primary agree
    514 with historical practice on BSD and System V implementations. System V and BSD documentation both describe it in terms of checking
    515 additional bits; in fact, it uses the same bits, but checks for having at least all of the matching bits set instead of having
    516 exactly the matching bits set.</p>
    517 <p>The exact format of the interactive prompts is unspecified. Only the general nature of the contents of prompts are specified
    518 because:</p>
    519 <ul>
    520 <li>
    521 <p>Implementations may desire more descriptive prompts than those used on historical implementations.</p>
    522 </li>
    523 <li>
    524 <p>Since the historical prompt strings do not terminate with &lt;newline&gt; characters, there is no portable way for another
    525 program to interact with the prompts of this utility via pipes.</p>
    526 </li>
    527 </ul>
    528 <p>Therefore, an application using this prompting option relies on the system to provide the most suitable dialog directly with the
    529 user, based on the general guidelines specified.</p>
    530 <p>The <b>-size</b> operand refers to the size of a file, rather than the number of blocks it may occupy in the file system. The
    531 intent is that the <i>st_size</i> field defined in the System Interfaces volume of POSIX.1-2024 should be used, not the
    532 <i>st_blocks</i> found in historical implementations. There are at least two reasons for this:</p>
    533 <ol>
    534 <li>
    535 <p>In both System V and BSD, <i>find</i> only uses <i>st_size</i> in size calculations for the operands specified by this volume of
    536 POSIX.1-2024. (BSD uses <i>st_blocks</i> only when processing the <b>-ls</b> primary.)</p>
    537 </li>
    538 <li>
    539 <p>Users usually think of file size in terms of bytes, which is also the unit used by the <a href=
    540 "../utilities/ls.html"><i>ls</i></a> utility for the output from the <b>-l</b> option. (In both System V and BSD, <a href=
    541 "../utilities/ls.html"><i>ls</i></a> uses <i>st_size</i> for the <b>-l</b> option size field and uses <i>st_blocks</i> for the
    542 <a href="../utilities/ls.html"><i>ls</i></a> <b>-s</b> calculations. This volume of POSIX.1-2024 does not specify <a href=
    543 "../utilities/ls.html"><i>ls</i></a> <b>-s</b>.)</p>
    544 </li>
    545 </ol>
    546 <p>The descriptions of <b>-atime</b>, <b>-ctime</b>, and <b>-mtime</b> were changed from the SVID description of <i>n</i> &quot;days&quot;
    547 to <i>n</i> being the result of the integer division of the time difference in seconds by 86400. The description is also different
    548 in terms of the exact timeframe for the <i>n</i> case (<i>versus</i> the <i>+n</i> or <i>-n</i>), but it matches all known
    549 historical implementations. It refers to one 86400 second period in the past, not any time from the beginning of that period to the
    550 current time. For example, <b>-atime</b> 2 is true if the file was accessed any time in the period from 72 hours to 48 hours
    551 ago.</p>
    552 <p>Historical implementations do not modify <tt>"{}"</tt> when it appears as a substring of an <b>-exec</b> or <b>-ok</b>
    553 <i>utility_name</i> or argument string. There have been numerous user requests for this extension, so this volume of POSIX.1-2024
    554 allows the desired behavior. At least one recent implementation does support this feature, but encountered several problems in
    555 managing memory allocation and dealing with multiple occurrences of <tt>"{}"</tt> in a string while it was being developed, so it
    556 is not yet required behavior.</p>
    557 <p>Assuming the presence of <b>-print</b> was added to correct a historical pitfall that plagues novice users, it is entirely
    558 upwards-compatible from the historical System V <i>find</i> utility. In its simplest form (<a href=
    559 "../utilities/find.html"><i>find</i></a> <i>directory</i>), it could be confused with the historical BSD fast <i>find</i>. The BSD
    560 developers agreed that adding <b>-print</b> as a default expression was the correct decision and have added the fast <i>find</i>
    561 functionality within a new utility called <i>locate</i>.</p>
    562 <p>Historically, the <b>-L</b> option was implemented using the primary <b>-follow</b>. The <b>-H</b> and <b>-L</b> options were
    563 added for two reasons. First, they offer a finer granularity of control and consistency with other programs that walk file
    564 hierarchies. Second, the <b>-follow</b> primary always evaluated to true. As they were historically really global variables that
    565 took effect before the traversal began, some valid expressions had unexpected results. An example is the expression <b>-print</b>
    566 <b>-o</b> <b>-follow</b>. Because <b>-print</b> always evaluates to true, the standard order of evaluation implies that
    567 <b>-follow</b> would never be evaluated. This was never the case. Historical practice for the <b>-follow</b> primary, however, is
    568 not consistent. Some implementations always follow symbolic links on the command line whether <b>-follow</b> is specified or not.
    569 Others follow symbolic links on the command line only if <b>-follow</b> is specified. Both behaviors are provided by the <b>-H</b>
    570 and <b>-L</b> options, but scripts using the current <b>-follow</b> primary would be broken if the <b>-follow</b> option is
    571 specified to work either way.</p>
    572 <p>Since the <b>-L</b> option resolves all symbolic links and the <b>-type</b> <i>l</i> primary is true for symbolic links that
    573 still exist after symbolic links have been resolved, the command:</p>
    574 <pre>
    575 <tt>find -L . -type l
    576 </tt></pre>
    577 <p>prints a list of symbolic links reachable from the current directory that do not resolve to accessible files.</p>
    578 <p>A feature of SVR4's <i>find</i> utility was the <b>-exec</b> primary's <b>+</b> terminator. This allowed filenames containing
    579 special characters (especially &lt;newline&gt; characters) to be grouped together without the problems that occur if such filenames
    580 are piped to <a href="../utilities/xargs.html"><i>xargs</i></a>.</p>
    581 <p>The <tt>"-exec ... {} +"</tt> syntax adopted was a result of IEEE PASC Interpretation 1003.2 #210. It should be noted that this
    582 is an incompatible change to IEEE&nbsp;Std&nbsp;1003.2-1992. For example, the following command printed all files with a
    583 <tt>'-'</tt> after their name if they are regular files, and a <tt>'+'</tt> otherwise:</p>
    584 <pre>
    585 <tt>find / -type f -exec echo {} - ';' -o -exec echo {} + ';'
    586 </tt></pre>
    587 <p>The change invalidates usage like this. Even though the previous standard stated that this usage would work, in practice many
    588 did not support it and the standard developers felt it better to now state that this was not allowable.</p>
    589 <p>Historically, many <i>find</i> implementations supported <b>-mount</b> and <b>-xdev</b> as synonymous primaries and earlier
    590 versions of this standard only required support for <b>-xdev</b>. However, the behavior of <i>find</i> with <b>-xdev</b> differed
    591 from that of the <a href="../functions/nftw.html"><i>nftw</i>()</a> function with FTW_MOUNT as regards whether the mount point
    592 itself was included or excluded. Therefore the standard now requires support for both primaries with slightly differing behaviors:
    593 <b>-mount</b> behaves in the manner of <a href="../functions/nftw.html"><i>nftw</i>()</a> with the traditional FTW_MOUNT flag, and
    594 <b>-xdev</b> in the manner of <a href="../functions/nftw.html"><i>nftw</i>()</a> with a new FTW_XDEV flag.</p>
    595 </blockquote>
    596 <h4 class="mansect"><a name="tag_20_47_19" id="tag_20_47_19"></a>FUTURE DIRECTIONS</h4>
    597 <blockquote>
    598 <p>If this utility is directed to display a pathname that contains any bytes that have the encoded value of a &lt;newline&gt;
    599 character when &lt;newline&gt; is a terminator or separator in the output format being used, implementations are encouraged to
    600 treat this as an error. A future version of this standard may require implementations to treat this as an error.</p>
    601 </blockquote>
    602 <h4 class="mansect"><a name="tag_20_47_20" id="tag_20_47_20"></a>SEE ALSO</h4>
    603 <blockquote>
    604 <p><a href="../utilities/V3_chap02.html#tag_19_02"><i>2.2 Quoting</i></a> , <a href="../utilities/V3_chap02.html#tag_19_14"><i>2.14
    605 Pattern Matching Notation</i></a> , <a href="../utilities/V3_chap02.html#tag_19_15"><i>2.15 Special Built-In Utilities</i></a> ,
    606 <a href="../utilities/chmod.html#tag_20_17"><i>chmod</i></a> , <a href="../utilities/mv.html#"><i>mv</i></a> , <a href=
    607 "../utilities/pax.html#"><i>pax</i></a> , <a href="../utilities/sh.html#"><i>sh</i></a> , <a href=
    608 "../utilities/test.html#"><i>test</i></a></p>
    609 <p>XBD <a href="../basedefs/V1_chap08.html#tag_08"><i>8. Environment Variables</i></a> , <a href=
    610 "../basedefs/V1_chap12.html#tag_12_02"><i>12.2 Utility Syntax Guidelines</i></a></p>
    611 <p>XSH <a href="../functions/fstatat.html#"><i>fstatat</i></a> , <a href="../functions/getgrgid.html#"><i>getgrgid</i></a> ,
    612 <a href="../functions/getpwuid.html#"><i>getpwuid</i></a></p>
    613 </blockquote>
    614 <h4 class="mansect"><a name="tag_20_47_21" id="tag_20_47_21"></a>CHANGE HISTORY</h4>
    615 <blockquote>
    616 <p>First released in Issue 2.</p>
    617 </blockquote>
    618 <h4 class="mansect"><a name="tag_20_47_22" id="tag_20_47_22"></a>Issue 5</h4>
    619 <blockquote>
    620 <p>The FUTURE DIRECTIONS section is added.</p>
    621 </blockquote>
    622 <h4 class="mansect"><a name="tag_20_47_23" id="tag_20_47_23"></a>Issue 6</h4>
    623 <blockquote>
    624 <p>The following new requirements on POSIX implementations derive from alignment with the Single UNIX Specification:</p>
    625 <ul>
    626 <li>
    627 <p>The <b>-perm&nbsp;[-]</b><i>onum</i> primary is supported.</p>
    628 </li>
    629 </ul>
    630 <p>The <i>find</i> utility is aligned with the IEEE&nbsp;P1003.2b draft standard, to include processing of symbolic links and
    631 changes to the description of the <b>atime</b>, <b>ctime</b>, and <b>mtime</b> operands.</p>
    632 <p>IEEE PASC Interpretation 1003.2 #210 is applied, extending the <b>-exec</b> operand.</p>
    633 <p>IEEE&nbsp;Std&nbsp;1003.1-2001/Cor&nbsp;2-2004, item XCU/TC2/D6/13 is applied, updating the RATIONALE section to be consistent
    634 with the normative text.</p>
    635 </blockquote>
    636 <h4 class="mansect"><a name="tag_20_47_24" id="tag_20_47_24"></a>Issue 7</h4>
    637 <blockquote>
    638 <p>Austin Group Interpretation 1003.1-2001 #126 is applied, changing the description of the <i>LC_MESSAGES</i> environment
    639 variable.</p>
    640 <p>Austin Group Interpretation 1003.1-2001 #127 is applied, rephrasing the description of the <b>-exec</b> primary to be
    641 &quot;immediately follows&quot;.</p>
    642 <p>Austin Group Interpretation 1003.1-2001 #185 is applied, clarifying the requirements for the <b>-H</b> and <b>-L</b>
    643 options.</p>
    644 <p>Austin Group Interpretation 1003.1-2001 #186 is applied, clarifying the requirements for the evaluation of <i>path</i>
    645 operands.</p>
    646 <p>Austin Group Interpretation 1003.1-2001 #195 is applied, clarifying the interpretation of the first operand.</p>
    647 <p>SD5-XCU-ERN-48 is applied, clarifying the <b>-L</b> option in the case that the referenced file does not exist.</p>
    648 <p>SD5-XCU-ERN-89 is applied, updating the OPERANDS section.</p>
    649 <p>SD5-XCU-ERN-97 is applied, updating the SYNOPSIS.</p>
    650 <p>SD5-XCU-ERN-117 is applied, clarifying the <b>-perm</b> operand.</p>
    651 <p>SD5-XCU-ERN-122 is applied, adding a new EXAMPLE.</p>
    652 <p>The description of the <b>-name</b> primary is revised and the <b>-path</b> primary is added (with a new example).</p>
    653 <p>POSIX.1-2008, Technical Corrigendum 1, XCU/TC1-2008/0086 [365], XCU/TC1-2008/0087 [310], XCU/TC1-2008/0088 [309,310,430],
    654 XCU/TC1-2008/0089 [235], and XCU/TC1-2008/0090 [445] are applied.</p>
    655 <p>POSIX.1-2008, Technical Corrigendum 2, XCU/TC2-2008/0099 [584], XCU/TC2-2008/0100 [584], and XCU/TC2-2008/0101 [584] are
    656 applied.</p>
    657 </blockquote>
    658 <h4 class="mansect"><a name="tag_20_47_25" id="tag_20_47_25"></a>Issue 8</h4>
    659 <blockquote>
    660 <p>Austin Group Defect 243 is applied, adding the <b>-print0</b> primary.</p>
    661 <p>Austin Group Defect 251 is applied, encouraging implementations to report an error if a utility is directed to display a
    662 pathname that contains any bytes that have the encoded value of a &lt;newline&gt; character when &lt;newline&gt; is a terminator or
    663 separator in the output format being used.</p>
    664 <p>Austin Group Defect 1031 is applied, adding the <b>-iname</b> primary.</p>
    665 <p>Austin Group Defect 1122 is applied, changing the description of <i>NLSPATH .</i></p>
    666 <p>Austin Group Defect 1133 is applied, adding the <b>-mount</b> primary.</p>
    667 <p>Austin Group Defects 1259 and 1777 are applied, changing the EXAMPLES section.</p>
    668 <p>Austin Group Defect 1392 is applied, changing the effect of the file creation mask on the <i>mode</i> argument for the
    669 <b>-perm</b> primary to be consistent with <a href="../utilities/chmod.html"><i>chmod</i></a>.</p>
    670 <p>Austin Group Defect 1501 is applied, changing the EXIT STATUS section.</p>
    671 <p>Austin Group Defect 1553 is applied, changing the ENVIRONMENT VARIABLES section.</p>
    672 <p>Austin Group Defect 1554 is applied, changing the RATIONALE section.</p>
    673 <p>Austin Group Defect 1606 is applied, clarifying that if <i>find</i> detects an infinite loop and recovers its position, the
    674 final exit status is non-zero.</p>
    675 <p>Austin Group Defect 1776 is applied, clarifying how symbolic links are handled by the <b>-newer</b> <i>file</i> primary.</p>
    676 </blockquote>
    677 <div class="box"><em>End of informative text.</em></div>
    678 <hr>
    679 <p>&nbsp;</p>
    680 <a href="#top"><span class="topOfPage">return to top of page</span></a><br>
    681 <hr size="2" noshade>
    682 <center><font size="2">UNIX® is a registered Trademark of The Open Group.<br>
    683 POSIX™ is a Trademark of The IEEE.<br>
    684 Copyright © 2001-2024 The IEEE and The Open Group, All Rights Reserved<br>
    685 [ <a href="../mindex.html">Main Index</a> | <a href="../basedefs/contents.html">XBD</a> | <a href=
    686 "../functions/contents.html">XSH</a> | <a href="../utilities/contents.html">XCU</a> | <a href="../xrat/contents.html">XRAT</a>
    687 ]</font></center>
    688 <hr size="2" noshade>
    689 <div class="NAVHEADER">
    690 <table summary="Header navigation table" class="nav" width="100%" border="0" cellpadding="0" cellspacing="0">
    691 <tr class="nav">
    692 <td class="nav" width="15%" align="left" valign="bottom"><a href="../utilities/file.html" accesskey="P">&lt;&lt;&lt;
    693 Previous</a></td>
    694 <td class="nav" width="70%" align="center" valign="bottom"><a href="contents.html">Home</a></td>
    695 <td class="nav" width="15%" align="right" valign="bottom"><a href="../utilities/fold.html" accesskey="N">Next &gt;&gt;&gt;</a></td>
    696 </tr>
    697 </table>
    698 <hr align="left" width="100%"></div>
    699 </body>
    700 </html>