find
ExpressionsThe expression that find
uses to select files consists of one
or more primaries, each of which is a separate command line
argument to find
. find
evaluates the expression each
time it processes a file. An expression can contain any of the
following types of primaries:
affect overall operation rather than the processing of a specific file;
return a true or false value, depending on the file’s attributes;
have side effects and return a true or false value; and
connect the other arguments and affect when and whether they are evaluated.
You can omit the operator between two primaries; it defaults to ‘-and’. See Combining Primaries With Operators, for ways to connect primaries into more complex expressions.
The ‘-print’ action is performed on all files for which the entire expression is true (see Print File Name), unless the expression contains an action other than ‘-prune’ or ‘-quit’. Actions which inhibit the default ‘-print’ are ‘-delete’, ‘-exec’, ‘-execdir’, ‘-ok’, ‘-okdir’, ‘-fls’, ‘-fprint’, ‘-fprintf’, ‘-ls’, ‘-print’ and ‘-printf’.
Options take effect immediately, rather than being evaluated for each file when their place in the expression is reached. Therefore, for clarity, it is best to place them at the beginning of the expression. There are exceptions to this; ‘-regextype’, ‘-daystart’ and ‘-follow’ have different effects depending on where in the command line they appear. This can be confusing, so it’s best to keep them at the beginning, too.
Many of the primaries take arguments, which immediately follow them in
the next command line argument to find
. Some arguments are
file names, patterns, or other strings; others are numbers. Numeric
arguments can be specified as
+n
for greater than n,
-n
for less than n,
n
for exactly n.