mirror of
https://github.com/freebsd/freebsd-src.git
synced 2024-12-01 08:33:24 +00:00
mdoc(7) police: fix markup.
This commit is contained in:
parent
c424b7d0c6
commit
bfd1220842
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=76681
@ -34,7 +34,7 @@
|
||||
.\" @(#)find.1 8.7 (Berkeley) 5/9/95
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd May 9, 1995
|
||||
.Dd May 3, 2001
|
||||
.Dt FIND 1
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -45,7 +45,7 @@
|
||||
.Op Fl H | Fl L | Fl P
|
||||
.Op Fl EXdsx
|
||||
.Op Fl f Ar pathname
|
||||
.Op Ar pathname ...\&
|
||||
.Op Ar pathname ...
|
||||
.Ar expression
|
||||
.Sh DESCRIPTION
|
||||
.Nm Find
|
||||
@ -53,19 +53,23 @@ recursively descends the directory tree for each
|
||||
.Ar pathname
|
||||
listed, evaluating an
|
||||
.Ar expression
|
||||
(composed of the ``primaries'' and ``operands'' listed below) in terms
|
||||
(composed of the
|
||||
.Dq primaries
|
||||
and
|
||||
.Dq operands
|
||||
listed below) in terms
|
||||
of each file in the tree.
|
||||
.Pp
|
||||
The options are as follows:
|
||||
.Pp
|
||||
.Bl -tag -width Ds
|
||||
.Bl -tag -width indent
|
||||
.It Fl E
|
||||
Interpret regular expressions followed by
|
||||
.Ic -regex
|
||||
and
|
||||
.Ic -iregex
|
||||
options as extended (modern) regular expressions rather than basic
|
||||
regular expressions (BRE's). The
|
||||
regular expressions (BRE's).
|
||||
The
|
||||
.Xr re_format 7
|
||||
manual page fully describes both formats.
|
||||
.It Fl H
|
||||
@ -73,11 +77,11 @@ The
|
||||
.Fl H
|
||||
option causes the file information and file type (see
|
||||
.Xr stat 2 )
|
||||
returned for each symbolic link specified on the command line to be
|
||||
returned for each symbolic link specified on the command line to be
|
||||
those of the file referenced by the link, not the link itself.
|
||||
If the referenced file does not exist, the file information and type will
|
||||
be for the link itself.
|
||||
File information of all symbolic links not on
|
||||
File information of all symbolic links not on
|
||||
the command line is that of the link itself.
|
||||
.It Fl L
|
||||
The
|
||||
@ -103,24 +107,29 @@ option is a modification to permit
|
||||
to be safely used in conjunction with
|
||||
.Xr xargs 1 .
|
||||
If a file name contains any of the delimiting characters used by
|
||||
.Xr xargs ,
|
||||
.Xr xargs 1 ,
|
||||
a diagnostic message is displayed on standard error, and the file
|
||||
is skipped.
|
||||
The delimiting characters include single (`` ' '') and double (`` " '')
|
||||
quotes, backslash (``\e''), space, tab and newline characters.
|
||||
The delimiting characters include single
|
||||
.Pq Dq Li " ' "
|
||||
and double
|
||||
.Pq Dq Li " \*q "
|
||||
quotes, backslash
|
||||
.Pq Dq Li \e ,
|
||||
space, tab and newline characters.
|
||||
.It Fl d
|
||||
The
|
||||
.Fl d
|
||||
option causes
|
||||
.Nm
|
||||
to perform a depth\-first traversal, i.e. directories
|
||||
to perform a depth\-first traversal, i.e., directories
|
||||
are visited in post\-order and all entries in a directory will be acted
|
||||
on before the directory itself.
|
||||
By default,
|
||||
.Nm
|
||||
visits directories in pre\-order, i.e. before their contents.
|
||||
visits directories in pre\-order, i.e., before their contents.
|
||||
Note, the default is
|
||||
.Ar not
|
||||
.Em not
|
||||
a breadth\-first traversal.
|
||||
.It Fl f
|
||||
The
|
||||
@ -137,12 +146,10 @@ option causes
|
||||
.Nm
|
||||
to traverse the file hierarchies in lexicographical order,
|
||||
i.e., alphabetical order within each directory.
|
||||
Note:
|
||||
.Sq find -s
|
||||
and
|
||||
.So
|
||||
find | sort
|
||||
.Sc
|
||||
Note:
|
||||
.Ql find -s
|
||||
and
|
||||
.Ql "find | sort"
|
||||
may give different results.
|
||||
.It Fl x
|
||||
The
|
||||
@ -153,8 +160,8 @@ from descending into directories that have a device number different
|
||||
than that of the file from which the descent began.
|
||||
.El
|
||||
.Sh PRIMARIES
|
||||
.Bl -tag -width Ds
|
||||
.It Ic -amin Ar n
|
||||
.Bl -tag -width indent
|
||||
.It Ic -amin Ar n
|
||||
True if the difference between the file last access time and the time
|
||||
.Nm
|
||||
was started, rounded up to the next full minute, is
|
||||
@ -162,14 +169,14 @@ was started, rounded up to the next full minute, is
|
||||
minutes.
|
||||
.It Ic -anewer Ar file
|
||||
Same as
|
||||
.Ic -neweram .
|
||||
.It Ic -atime Ar n
|
||||
.Ic -neweram .
|
||||
.It Ic -atime Ar n
|
||||
True if the difference between the file last access time and the time
|
||||
.Nm
|
||||
was started, rounded up to the next full 24\-hour period, is
|
||||
.Ar n
|
||||
24\-hour periods.
|
||||
.It Ic -cmin Ar n
|
||||
.It Ic -cmin Ar n
|
||||
True if the difference between the time of last change of file status
|
||||
information and the time
|
||||
.Nm
|
||||
@ -178,8 +185,8 @@ was started, rounded up to the next full minute, is
|
||||
minutes.
|
||||
.It Ic -cnewer Ar file
|
||||
Same as
|
||||
.Ic -newercm .
|
||||
.It Ic -ctime Ar n
|
||||
.Ic -newercm .
|
||||
.It Ic -ctime Ar n
|
||||
True if the difference between the time of last change of file status
|
||||
information and the time
|
||||
.Nm
|
||||
@ -193,62 +200,75 @@ This executes
|
||||
from the current working directory as
|
||||
.Nm
|
||||
recurses down the tree.
|
||||
It will not attempt to delete a filename with a ``/''
|
||||
character in its pathname relative to "." for security reasons.
|
||||
It will not attempt to delete a filename with a
|
||||
.Dq Pa /
|
||||
character in its pathname relative to
|
||||
.Dq Pa \&.
|
||||
for security reasons.
|
||||
Depth\-first traversal processing is implied by this option.
|
||||
.It Ic -empty
|
||||
True if the current file or directory is empty.
|
||||
.It Ic -exec Ar utility Op argument ... ;
|
||||
.It Ic -exec Ar utility Op Ar argument ... ;
|
||||
True if the program named
|
||||
.Ar utility
|
||||
returns a zero value as its exit status.
|
||||
Optional arguments may be passed to the utility.
|
||||
The expression must be terminated by a semicolon (``;'').
|
||||
If the string ``{}'' appears anywhere in the utility name or the
|
||||
Optional
|
||||
.Ar arguments
|
||||
may be passed to the utility.
|
||||
The expression must be terminated by a semicolon
|
||||
.Pq Dq Li \&; .
|
||||
If the string
|
||||
.Dq Li {}
|
||||
appears anywhere in the utility name or the
|
||||
arguments it is replaced by the pathname of the current file.
|
||||
.Ar Utility
|
||||
will be executed from the directory from which
|
||||
.Nm
|
||||
was executed.
|
||||
.It Ic -execdir Ar utility Op argument ... ;
|
||||
.It Ic -execdir Ar utility Op Ar argument ... ;
|
||||
The
|
||||
.Ic \&-execdir
|
||||
.Ic -execdir
|
||||
primary is identical to the
|
||||
.Ic -exec
|
||||
primary with the exception that
|
||||
.Ar Utility
|
||||
.Ar utility
|
||||
will be executed from the directory that holds
|
||||
the current file.
|
||||
The filename substituted for
|
||||
the string ``{}'' is not qualified.
|
||||
.It Ic -fstype Ar type
|
||||
the string
|
||||
.Dq Li {}
|
||||
is not qualified.
|
||||
.It Ic -fstype Ar type
|
||||
True if the file is contained in a file system of type
|
||||
.Ar type .
|
||||
The
|
||||
.Xr sysctl 8
|
||||
command can be used to find out the types of filesystems
|
||||
that are available on the system:
|
||||
.Bd -literal -offset indent
|
||||
sysctl vfs
|
||||
.Ed
|
||||
In addition, there are two pseudo-types, ``local'' and ``rdonly''.
|
||||
.Pp
|
||||
.Dl "sysctl vfs"
|
||||
.Pp
|
||||
In addition, there are two pseudo-types,
|
||||
.Dq Li local
|
||||
and
|
||||
.Dq Li rdonly .
|
||||
The former matches any file system physically mounted on the system where
|
||||
the
|
||||
.Nm
|
||||
is being executed and the latter matches any file system which is
|
||||
mounted read-only.
|
||||
.It Ic -group Ar gname
|
||||
.It Ic -group Ar gname
|
||||
True if the file belongs to the group
|
||||
.Ar gname .
|
||||
.Ar gname .
|
||||
If
|
||||
.Ar gname
|
||||
is numeric and there is no such group name, then
|
||||
.Ar gname
|
||||
is treated as a group id.
|
||||
.It Ic -inum Ar n
|
||||
is treated as a group ID.
|
||||
.It Ic -inum Ar n
|
||||
True if the file has inode number
|
||||
.Ar n .
|
||||
.It Ic -links Ar n
|
||||
.Ar n .
|
||||
.It Ic -links Ar n
|
||||
True if the file has
|
||||
.Ar n
|
||||
links.
|
||||
@ -260,200 +280,201 @@ links, owner, group, size in bytes, last modification time, and pathname.
|
||||
If the file is a block or character special file, the major and minor numbers
|
||||
will be displayed instead of the size in bytes.
|
||||
If the file is a symbolic link, the pathname of the linked\-to file will be
|
||||
displayed preceded by ``\->''.
|
||||
The format is identical to that produced by ``ls \-dgils''.
|
||||
displayed preceded by
|
||||
.Dq Li -> .
|
||||
The format is identical to that produced by
|
||||
.Bk -words
|
||||
.Nm ls Fl dgils .
|
||||
.Ek
|
||||
.It Ic -mnewer Ar file
|
||||
Same as
|
||||
.Ic -newer .
|
||||
.Ic -newer .
|
||||
.It Ic -maxdepth Ar n
|
||||
True if the depth of the current file into the tree is less than or equal to
|
||||
.Ar n .
|
||||
.It Ic -mindepth Ar n
|
||||
True if the depth of the current file into the tree is greater than or equal to
|
||||
.Ar n .
|
||||
.It Ic -mmin Ar n
|
||||
.It Ic -mmin Ar n
|
||||
True if the difference between the file last modification time and the time
|
||||
.Nm
|
||||
was started, rounded up to the next full minute, is
|
||||
.Ar n
|
||||
minutes.
|
||||
.It Ic -mtime Ar n
|
||||
.It Ic -mtime Ar n
|
||||
True if the difference between the file last modification time and the time
|
||||
.Nm
|
||||
was started, rounded up to the next full 24\-hour period, is
|
||||
.Ar n
|
||||
24\-hour periods.
|
||||
.It Ic \&-ok Ar utility Op argument ... ;
|
||||
.It Ic -ok Ar utility Op Ar argument ... ;
|
||||
The
|
||||
.Ic \&-ok
|
||||
.Ic -ok
|
||||
primary is identical to the
|
||||
.Ic -exec
|
||||
primary with the exception that
|
||||
.Nm
|
||||
requests user affirmation for the execution of the utility by printing
|
||||
requests user affirmation for the execution of the
|
||||
.Ar utility
|
||||
by printing
|
||||
a message to the terminal and reading a response.
|
||||
If the response is other than ``y'' the command is not executed and the
|
||||
If the response is other than
|
||||
.Dq Li y
|
||||
the command is not executed and the
|
||||
value of the
|
||||
.Ar \&ok
|
||||
.Ic -ok
|
||||
expression is false.
|
||||
.It Ic \&-okdir Ar utility Op argument ... ;
|
||||
.It Ic -okdir Ar utility Op Ar argument ... ;
|
||||
The
|
||||
.Ic \&-okdir
|
||||
.Ic -okdir
|
||||
primary is identical to the
|
||||
.Ic -execdir
|
||||
primary with the same exception as described for the
|
||||
.Ic \&-ok
|
||||
.Ic -ok
|
||||
primary.
|
||||
.It Ic -name Ar pattern
|
||||
.It Ic -name Ar pattern
|
||||
True if the last component of the pathname being examined matches
|
||||
.Ar pattern .
|
||||
Special shell pattern matching characters (``['', ``]'', ``*'', and ``?'')
|
||||
.Ar pattern .
|
||||
Special shell pattern matching characters
|
||||
.Dq ( Li \&[ ,
|
||||
.Dq Li \&] ,
|
||||
.Dq Li * ,
|
||||
and
|
||||
.Dq Li \&? )
|
||||
may be used as part of
|
||||
.Ar pattern .
|
||||
.Ar pattern .
|
||||
These characters may be matched explicitly by escaping them with a
|
||||
backslash (``\e'').
|
||||
.It Ic -iname Ar pattern
|
||||
backslash
|
||||
.Pq Dq Li \e .
|
||||
.It Ic -iname Ar pattern
|
||||
Like
|
||||
.Ic -name ,
|
||||
but the match is case insensitive.
|
||||
.It Ic -regex Ar pattern
|
||||
.It Ic -regex Ar pattern
|
||||
True if the whole path of the file matches
|
||||
.Ar pattern
|
||||
using regular expression. To match a file named ``./foo/xyzzy'', you
|
||||
can use the regular expression ``.*/[xyz]*'' or ``.*/foo/.*'', but not
|
||||
``xyzzy'' or ``/foo/''.
|
||||
.It Ic -iregex Ar pattern
|
||||
using regular expression.
|
||||
To match a file named
|
||||
.Dq Pa ./foo/xyzzy ,
|
||||
you can use the regular expression
|
||||
.Dq Li ".*/[xyz]*"
|
||||
or
|
||||
.Dq Li ".*/foo/.*" ,
|
||||
but not
|
||||
.Dq Li xyzzy
|
||||
or
|
||||
.Dq Li /foo/ .
|
||||
.It Ic -iregex Ar pattern
|
||||
Like
|
||||
.Ic -regex ,
|
||||
but the match is case insensitive.
|
||||
.It Ic -newer Ar file
|
||||
.It Ic -newer Ar file
|
||||
True if the current file has a more recent last modification time than
|
||||
.Ar file .
|
||||
.It Ic -newerXY Ar file
|
||||
True if the current file has a more recent last access time (
|
||||
.Ic X
|
||||
=
|
||||
.Ic a
|
||||
), change time (
|
||||
.Ic X
|
||||
=
|
||||
.Ic c
|
||||
), or modification time (
|
||||
.Ic X
|
||||
=
|
||||
.Ic m
|
||||
) than the last access time (
|
||||
.Ic Y
|
||||
=
|
||||
.Ic a
|
||||
), change time (
|
||||
.Ic Y
|
||||
=
|
||||
.Ic c
|
||||
), or modification time (
|
||||
.Ic Y
|
||||
=
|
||||
.Ic m
|
||||
) of
|
||||
.Ar file .
|
||||
.Ar file .
|
||||
.It Ic -newer Ns Ar X Ns Ar Y Ar file
|
||||
True if the current file has a more recent last access time
|
||||
.Ar ( X Ns = Ns Cm a ) ,
|
||||
change time
|
||||
.Ar ( X Ns = Ns Cm c ) ,
|
||||
or modification time
|
||||
.Ar ( X Ns = Ns Cm m )
|
||||
than the last access time
|
||||
.Ar ( Y Ns = Ns Cm a ) ,
|
||||
change time
|
||||
.Ar ( Y Ns = Ns Cm c ) ,
|
||||
or modification time
|
||||
.Ar ( Y Ns = Ns Cm m )
|
||||
of
|
||||
.Ar file .
|
||||
In addition, if
|
||||
.Ic Y
|
||||
=
|
||||
.Ic t ,
|
||||
.Ar Y Ns = Ns Cm t ,
|
||||
then
|
||||
.Ar file
|
||||
is instead interpreted as a direct date specification of the form
|
||||
understood by
|
||||
.Xr cvs 1 .
|
||||
.Xr cvs 1 .
|
||||
Note that
|
||||
.Ic -newermm
|
||||
is equivalent to
|
||||
.Ic -newer .
|
||||
.Ic -newer .
|
||||
.It Ic -nouser
|
||||
True if the file belongs to an unknown user.
|
||||
.It Ic -nogroup
|
||||
True if the file belongs to an unknown group.
|
||||
.It Ic -path Ar pattern
|
||||
.It Ic -path Ar pattern
|
||||
True if the pathname being examined matches
|
||||
.Ar pattern .
|
||||
Special shell pattern matching characters (``['', ``]'', ``*'', and ``?'')
|
||||
.Ar pattern .
|
||||
Special shell pattern matching characters
|
||||
.Dq ( Li \&[ ,
|
||||
.Dq Li \&] ,
|
||||
.Dq Li * ,
|
||||
and
|
||||
.Dq Li \&? )
|
||||
may be used as part of
|
||||
.Ar pattern .
|
||||
.Ar pattern .
|
||||
These characters may be matched explicitly by escaping them with a
|
||||
backslash (``\e'').
|
||||
Slashes (``/'') are treated as normal characters and do not have to be
|
||||
backslash
|
||||
.Pq Dq Li \e .
|
||||
Slashes
|
||||
.Pq Dq Li /
|
||||
are treated as normal characters and do not have to be
|
||||
matched explicitly.
|
||||
.It Ic -ipath Ar pattern
|
||||
.It Ic -ipath Ar pattern
|
||||
Like
|
||||
.Ic -path ,
|
||||
but the match is case insensitive.
|
||||
.It Xo
|
||||
.Ic -perm
|
||||
.Oo Fl Oc Ns Ar mode
|
||||
.Xc
|
||||
.It Ic -perm Oo Fl Oc Ns Ar mode
|
||||
The
|
||||
.Ar mode
|
||||
may be either symbolic (see
|
||||
.Xr chmod 1 )
|
||||
.Xr chmod 1 )
|
||||
or an octal number.
|
||||
If the mode is symbolic, a starting value of zero is assumed and the
|
||||
mode sets or clears permissions without regard to the process' file mode
|
||||
creation mask.
|
||||
If the mode is octal, only bits 07777
|
||||
.Pf ( Dv S_ISUID
|
||||
|
|
||||
.Dv S_ISGID
|
||||
|
|
||||
.Dv S_ISTXT
|
||||
|
|
||||
.Dv S_IRWXU
|
||||
|
|
||||
.Dv S_IRWXG
|
||||
|
|
||||
.Dv S_IRWXO )
|
||||
.Pq Dv S_ISUID | S_ISGID | S_ISTXT | S_IRWXU | S_IRWXG | S_IRWXO
|
||||
of the file's mode bits participate
|
||||
in the comparison.
|
||||
If the mode is preceded by a dash
|
||||
.Pq Dq - ,
|
||||
.Pq Dq Li - ,
|
||||
this primary evaluates to true
|
||||
if at least all of the bits in the mode are set in the file's mode bits.
|
||||
If the mode is preceded by a plus
|
||||
.Pq Dq + ,
|
||||
.Pq Dq Li + ,
|
||||
this primary evaluates to true
|
||||
if any of the bits in the mode are set in the file's mode bits.
|
||||
Otherwise, this primary evaluates to true if
|
||||
the bits in the mode exactly match the file's mode bits.
|
||||
Note, the first character of a symbolic mode may not be a dash (``\-'').
|
||||
Note, the first character of a symbolic mode may not be a dash
|
||||
.Pq Dq Li - .
|
||||
.It Ic -flags Op Fl Ns Ar flags
|
||||
This primary evaluates to true if exactly those flags of the file are
|
||||
set which are also set using the specified
|
||||
.Ar flags
|
||||
(if these are not preceded by a dash (``\-''),
|
||||
(if these are not preceded by a dash
|
||||
.Pq Dq Li - ,
|
||||
or if they match the specified flags (if these are preceded by a dash).
|
||||
The
|
||||
.Ar flags
|
||||
are specified using symbolic names (see
|
||||
.Xr chflags 1 ) .
|
||||
Note that this is different from
|
||||
.Ic -perm ,
|
||||
.Ic -perm ,
|
||||
which only allows you to specify flags which are set.
|
||||
.It Ic -print
|
||||
This primary always evaluates to true.
|
||||
It prints the pathname of the current file to standard output.
|
||||
If none of
|
||||
.Ic -exec ,
|
||||
.Ic -ls ,
|
||||
.Ic -print0 ,
|
||||
.Ic -exec , -ls , -print0 ,
|
||||
or
|
||||
.Ic \&-ok
|
||||
.Ic -ok
|
||||
is specified, the given expression shall be effectively replaced by
|
||||
.Cm \&( Ns Ar given\& expression Ns Cm \&)
|
||||
.Ic -print .
|
||||
.Cm \&( Ar "given expression" Cm \&) Ic -print .
|
||||
.It Ic -print0
|
||||
This primary always evaluates to true.
|
||||
It prints the pathname of the current file to standard output, followed by an
|
||||
.Tn ASCII
|
||||
.Tn NUL
|
||||
.Tn ASCII NUL
|
||||
character (character code 0).
|
||||
.It Ic -prune
|
||||
This primary always evaluates to true.
|
||||
@ -465,20 +486,22 @@ Note, the
|
||||
primary has no effect if the
|
||||
.Fl d
|
||||
option was specified.
|
||||
.It Ic -size Ar n Ns Op Cm c
|
||||
.It Ic -size Ar n Ns Op Cm c
|
||||
True if the file's size, rounded up, in 512\-byte blocks is
|
||||
.Ar n .
|
||||
.Ar n .
|
||||
If
|
||||
.Ar n
|
||||
is followed by a ``c'', then the primary is true if the
|
||||
is followed by a
|
||||
.Cm c ,
|
||||
then the primary is true if the
|
||||
file's size is
|
||||
.Ar n
|
||||
bytes.
|
||||
.It Ic -type Ar t
|
||||
bytes (characters).
|
||||
.It Ic -type Ar t
|
||||
True if the file is of the specified type.
|
||||
Possible file types are as follows:
|
||||
.Pp
|
||||
.Bl -tag -width flag -offset indent -compact
|
||||
.Bl -tag -width indent -compact
|
||||
.It Cm b
|
||||
block special
|
||||
.It Cm c
|
||||
@ -494,40 +517,44 @@ FIFO
|
||||
.It Cm s
|
||||
socket
|
||||
.El
|
||||
.Pp
|
||||
.It Ic -user Ar uname
|
||||
.It Ic -user Ar uname
|
||||
True if the file belongs to the user
|
||||
.Ar uname .
|
||||
.Ar uname .
|
||||
If
|
||||
.Ar uname
|
||||
is numeric and there is no such user name, then
|
||||
.Ar uname
|
||||
is treated as a user id.
|
||||
is treated as a user ID.
|
||||
.El
|
||||
.Pp
|
||||
All primaries which take a numeric argument allow the number to be
|
||||
preceded by a plus sign
|
||||
.Pq Dq +
|
||||
.Pq Dq Li +
|
||||
or a minus sign
|
||||
.Pq Dq - .
|
||||
A preceding plus sign means ``more than n'', a preceding minus sign means
|
||||
``less than n'' and neither means ``exactly n'' .
|
||||
.Pq Dq Li - .
|
||||
A preceding plus sign means
|
||||
.Dq more than n ,
|
||||
a preceding minus sign means
|
||||
.Dq less than n
|
||||
and neither means
|
||||
.Dq exactly n .
|
||||
.Sh OPERATORS
|
||||
The primaries may be combined using the following operators.
|
||||
The operators are listed in order of decreasing precedence.
|
||||
.Bl -tag -width (expression)
|
||||
.It Cm \&( Ar expression Cm \&)
|
||||
.Pp
|
||||
.Bl -tag -width "( expression )" -compact
|
||||
.It Cm \&( Ar expression Cm \&)
|
||||
This evaluates to true if the parenthesized expression evaluates to
|
||||
true.
|
||||
.Pp
|
||||
.It Cm \&! Ar expression
|
||||
.It Cm \&! Ar expression
|
||||
This is the unary
|
||||
.Tn NOT
|
||||
operator.
|
||||
It evaluates to true if the expression is false.
|
||||
.Pp
|
||||
.It Ar expression Cm -and Ar expression
|
||||
.It Ar expression expression
|
||||
.It Ar expression Cm -and Ar expression
|
||||
.It Ar expression expression
|
||||
The
|
||||
.Cm -and
|
||||
operator is the logical
|
||||
@ -538,7 +565,7 @@ have to be specified.
|
||||
The expression evaluates to true if both expressions are true.
|
||||
The second expression is not evaluated if the first expression is false.
|
||||
.Pp
|
||||
.It Ar expression Cm -or Ar expression
|
||||
.It Ar expression Cm -or Ar expression
|
||||
The
|
||||
.Cm -or
|
||||
operator is the logical
|
||||
@ -555,21 +582,28 @@ Primaries which themselves take arguments expect each argument
|
||||
to be a separate argument to
|
||||
.Nm .
|
||||
.Sh EXAMPLES
|
||||
.Pp
|
||||
The following examples are shown as given to the shell:
|
||||
.Bl -tag -width findx
|
||||
.It Li "find / \e! -name \*q*.c\*q -print"
|
||||
Print out a list of all the files whose names do not end in ``.c''.
|
||||
.It Li "find / -newer ttt -user wnj -print"
|
||||
Print out a list of all the files owned by user ``wnj'' that are newer
|
||||
than the file ``ttt''.
|
||||
.It Li "find / \e! \e( -newer ttt -user wnj \e) -print"
|
||||
Print out a list of all the files which are not both newer than ``ttt''
|
||||
and owned by ``wnj''.
|
||||
.It Li "find / \e( -newer ttt -or -user wnj \e) -print"
|
||||
Print out a list of all the files that are either owned by ``wnj'' or
|
||||
that are newer than ``ttt''.
|
||||
.It Li "find . -newerct '1 minute ago' -print"
|
||||
.Bl -tag -width indent
|
||||
.It Li "find / \e! -name \*q*.c\*q -print"
|
||||
Print out a list of all the files whose names do not end in
|
||||
.Pa .c .
|
||||
.It Li "find / -newer ttt -user wnj -print"
|
||||
Print out a list of all the files owned by user
|
||||
.Dq wnj
|
||||
that are newer
|
||||
than the file
|
||||
.Pa ttt .
|
||||
.It Li "find / \e! \e( -newer ttt -user wnj \e) -print"
|
||||
Print out a list of all the files which are not both newer than
|
||||
.Pa ttt
|
||||
and owned by
|
||||
.Dq wnj .
|
||||
.It Li "find / \e( -newer ttt -or -user wnj \e) -print"
|
||||
Print out a list of all the files that are either owned by
|
||||
.Dq wnj
|
||||
or that are newer than
|
||||
.Pa ttt .
|
||||
.It Li "find . -newerct '1 minute ago' -print"
|
||||
Print out a list of all the files whose inode change time is more
|
||||
recent than the current time minus one minute.
|
||||
.El
|
||||
@ -595,40 +629,49 @@ utility syntax is a superset of the syntax specified by the
|
||||
standard.
|
||||
.Pp
|
||||
All the single character options as well as the
|
||||
.Ic -iname ,
|
||||
.Ic -inum ,
|
||||
.Ic -iregex ,
|
||||
.Ic -print0 ,
|
||||
.Ic -delete ,
|
||||
.Ic -ls ,
|
||||
.Ic -iname , -inum , -iregex , -print0 , -delete , -ls ,
|
||||
and
|
||||
.Ic -regex
|
||||
primaries are extensions to
|
||||
.St -p1003.2 .
|
||||
.Pp
|
||||
Historically, the
|
||||
.Fl d ,
|
||||
.Fl h
|
||||
.Fl d , h
|
||||
and
|
||||
.Fl x
|
||||
options were implemented using the primaries ``\-depth'', ``\-follow'',
|
||||
and ``\-xdev''.
|
||||
options were implemented using the primaries
|
||||
.Ic -depth , -follow ,
|
||||
and
|
||||
.Ic -xdev .
|
||||
These primaries always evaluated to true.
|
||||
As they were really global variables that took effect before the traversal
|
||||
began, some legal expressions could have unexpected results.
|
||||
An example is the expression ``\-print \-o \-depth''.
|
||||
As \-print always evaluates to true, the standard order of evaluation
|
||||
implies that \-depth would never be evaluated.
|
||||
An example is the expression
|
||||
.Ic -print Cm -o Ic -depth .
|
||||
As
|
||||
.Ic -print
|
||||
always evaluates to true, the standard order of evaluation
|
||||
implies that
|
||||
.Ic -depth
|
||||
would never be evaluated.
|
||||
This is not the case.
|
||||
.Pp
|
||||
The operator ``-or'' was implemented as ``\-o'', and the operator ``-and''
|
||||
was implemented as ``\-a''.
|
||||
The operator
|
||||
.Cm -or
|
||||
was implemented as
|
||||
.Cm -o ,
|
||||
and the operator
|
||||
.Cm -and
|
||||
was implemented as
|
||||
.Cm -a .
|
||||
.Pp
|
||||
Historic implementations of the
|
||||
.Ic exec
|
||||
.Ic -exec
|
||||
and
|
||||
.Ic ok
|
||||
primaries did not replace the string ``{}'' in the utility name or the
|
||||
.Ic -ok
|
||||
primaries did not replace the string
|
||||
.Dq Li {}
|
||||
in the utility name or the
|
||||
utility arguments if it had preceding or following non-whitespace characters.
|
||||
This version replaces it no matter where in the utility name or arguments
|
||||
it appears.
|
||||
@ -643,18 +686,32 @@ and
|
||||
The special characters used by
|
||||
.Nm
|
||||
are also special characters to many shell programs.
|
||||
In particular, the characters ``*'', ``['', ``]'', ``?'', ``('', ``)'',
|
||||
``!'', ``\e'' and ``;'' may have to be escaped from the shell.
|
||||
In particular, the characters
|
||||
.Dq Li * ,
|
||||
.Dq Li \&[ ,
|
||||
.Dq Li \&] ,
|
||||
.Dq Li \&? ,
|
||||
.Dq Li \&( ,
|
||||
.Dq Li \&) ,
|
||||
.Dq Li \&! ,
|
||||
.Dq Li \e
|
||||
and
|
||||
.Dq Li \&;
|
||||
may have to be escaped from the shell.
|
||||
.Pp
|
||||
As there is no delimiter separating options and file names or file
|
||||
names and the
|
||||
.Ar expression ,
|
||||
it is difficult to specify files named ``-xdev'' or ``!''.
|
||||
it is difficult to specify files named
|
||||
.Pa -xdev
|
||||
or
|
||||
.Pa \&! .
|
||||
These problems are handled by the
|
||||
.Fl f
|
||||
option and the
|
||||
.Xr getopt 3
|
||||
``--'' construct.
|
||||
.Dq Fl Fl
|
||||
construct.
|
||||
.Pp
|
||||
The
|
||||
.Ic -delete
|
||||
|
Loading…
Reference in New Issue
Block a user