.\" Automatically generated by Pod::Man v1.34, Pod::Parser v1.13
.\" ========================================================================
.de Sh \" Subsection heading
.de Sp \" Vertical space (when we can't use .PP)
.de Vb \" Begin verbatim text
.de Ve \" End verbatim text
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. | will give a
.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
.\" expand to `' in nroff, nothing in troff, for use with C<>.
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
. tm Index:\\$1\t\\n%\t"\\$2"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. \" simple accents for nroff and troff
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
.\" ========================================================================
.TH FIND2PERL 1 "2002-08-28" "perl v5.8.0" "Perl Programmers Reference Guide"
find2perl \- translate find command lines to Perl code
\& find2perl [paths] [predicates] | perl
find2perl is a little translator to convert find command lines to
equivalent Perl code. The resulting code is typically faster than
\&\*(L"paths\*(R" are a set of paths where find2perl will start its searches and
\&\*(L"predicates\*(R" are taken from the following list.
.ie n .IP """! PREDICATE""" 4
.el .IP "\f(CW! PREDICATE\fR" 4
Negate the sense of the following predicate. The \f(CW\*(C`!\*(C'\fR must be passed as
a distinct argument, so it may need to be surrounded by whitespace and/or
quoted from interpretation by the shell using a backslash (just as with
.ie n .IP """( PREDICATES )""" 4
.el .IP "\f(CW( PREDICATES )\fR" 4
.IX Item "( PREDICATES )"
Group the given \s-1PREDICATES\s0. The parentheses must be passed as distinct
arguments, so they may need to be surrounded by whitespace and/or
quoted from interpretation by the shell using a backslash (just as with
.ie n .IP """PREDICATE1 PREDICATE2""" 4
.el .IP "\f(CWPREDICATE1 PREDICATE2\fR" 4
.IX Item "PREDICATE1 PREDICATE2"
True if _both_ \s-1PREDICATE1\s0 and \s-1PREDICATE2\s0 are true; \s-1PREDICATE2\s0 is not
evaluated if \s-1PREDICATE1\s0 is false.
.ie n .IP """PREDICATE1 \-o PREDICATE2""" 4
.el .IP "\f(CWPREDICATE1 \-o PREDICATE2\fR" 4
.IX Item "PREDICATE1 -o PREDICATE2"
True if either one of \s-1PREDICATE1\s0 or \s-1PREDICATE2\s0 is true; \s-1PREDICATE2\s0 is
not evaluated if \s-1PREDICATE1\s0 is true.
.ie n .IP """\-follow""" 4
.el .IP "\f(CW\-follow\fR" 4
Follow (dereference) symlinks. The checking of file attributes depends
on the position of the \f(CW\*(C`\-follow\*(C'\fR option. If it precedes the file
check option, an \f(CW\*(C`stat\*(C'\fR is done which means the file check applies to the
file the symbolic link is pointing to. If \f(CW\*(C`\-follow\*(C'\fR option follows the
file check option, this now applies to the symbolic link itself, i.e.
an \f(CW\*(C`lstat\*(C'\fR is done.
.ie n .IP """\-depth""" 4
.el .IP "\f(CW\-depth\fR" 4
Change directory traversal algorithm from breadth-first to depth\-first.
.ie n .IP """\-prune""" 4
.el .IP "\f(CW\-prune\fR" 4
Do not descend into the directory currently matched.
.el .IP "\f(CW\-xdev\fR" 4
Do not traverse mount points (prunes search at mount-point directories).
.ie n .IP """\-name GLOB""" 4
.el .IP "\f(CW\-name GLOB\fR" 4
File name matches specified \s-1GLOB\s0 wildcard pattern. \s-1GLOB\s0 may need to be
quoted to avoid interpretation by the shell (just as with using
.ie n .IP """\-perm PERM""" 4
.el .IP "\f(CW\-perm PERM\fR" 4
Low-order 9 bits of permission match octal value \s-1PERM\s0.
.ie n .IP """\-perm \-PERM""" 4
.el .IP "\f(CW\-perm \-PERM\fR" 4
The bits specified in \s-1PERM\s0 are all set in file's permissions.
.ie n .IP """\-type X""" 4
.el .IP "\f(CW\-type X\fR" 4
The file's type matches perl's \f(CW\*(C`\-X\*(C'\fR operator.
.ie n .IP """\-fstype TYPE""" 4
.el .IP "\f(CW\-fstype TYPE\fR" 4
Filesystem of current path is of type \s-1TYPE\s0 (only NFS/non\-NFS distinction
.ie n .IP """\-user USER""" 4
.el .IP "\f(CW\-user USER\fR" 4
True if \s-1USER\s0 is owner of file.
.ie n .IP """\-group GROUP""" 4
.el .IP "\f(CW\-group GROUP\fR" 4
True if file's group is \s-1GROUP\s0.
.ie n .IP """\-nouser""" 4
.el .IP "\f(CW\-nouser\fR" 4
True if file's owner is not in password database.
.ie n .IP """\-nogroup""" 4
.el .IP "\f(CW\-nogroup\fR" 4
True if file's group is not in group database.
.ie n .IP """\-inum INUM""" 4
.el .IP "\f(CW\-inum INUM\fR" 4
True file's inode number is \s-1INUM\s0.
.ie n .IP """\-links N""" 4
.el .IP "\f(CW\-links N\fR" 4
True if (hard) link count of file matches N (see below).
.ie n .IP """\-size N""" 4
.el .IP "\f(CW\-size N\fR" 4
True if file's size matches N (see below) N is normally counted in
512\-byte blocks, but a suffix of \*(L"c\*(R" specifies that size should be
counted in characters (bytes) and a suffix of \*(L"k\*(R" specifes that
size should be counted in 1024\-byte blocks.
.ie n .IP """\-atime N""" 4
.el .IP "\f(CW\-atime N\fR" 4
True if last-access time of file matches N (measured in days) (see
.ie n .IP """\-ctime N""" 4
.el .IP "\f(CW\-ctime N\fR" 4
True if last-changed time of file's inode matches N (measured in days,
.ie n .IP """\-mtime N""" 4
.el .IP "\f(CW\-mtime N\fR" 4
True if last-modified time of file matches N (measured in days, see below).
.ie n .IP """\-newer FILE""" 4
.el .IP "\f(CW\-newer FILE\fR" 4
True if last-modified time of file matches N.
.ie n .IP """\-print""" 4
.el .IP "\f(CW\-print\fR" 4
Print out path of file (always true).
.ie n .IP """\-print0""" 4
.el .IP "\f(CW\-print0\fR" 4
Like \-print, but terminates with \e0 instead of \en.
.ie n .IP """\-exec OPTIONS ;""" 4
.el .IP "\f(CW\-exec OPTIONS ;\fR" 4
.IX Item "-exec OPTIONS ;"
\&\fIexec()\fR the arguments in \s-1OPTIONS\s0 in a subprocess; any occurrence of {} in
\&\s-1OPTIONS\s0 will first be substituted with the path of the current
file. Note that the command \*(L"rm\*(R" has been special-cased to use perl's
\&\fIunlink()\fR function instead (as an optimization). The \f(CW\*(C`;\*(C'\fR must be passed as
a distinct argument, so it may need to be surrounded by whitespace and/or
quoted from interpretation by the shell using a backslash (just as with
.ie n .IP """\-ok OPTIONS ;""" 4
.el .IP "\f(CW\-ok OPTIONS ;\fR" 4
Like \-exec, but first prompts user; if user's response does not begin
with a y, skip the exec. The \f(CW\*(C`;\*(C'\fR must be passed as
a distinct argument, so it may need to be surrounded by whitespace and/or
quoted from interpretation by the shell using a backslash (just as with
.ie n .IP """\-eval EXPR""" 4
.el .IP "\f(CW\-eval EXPR\fR" 4
Has the perl script \fIeval()\fR the \s-1EXPR\s0.
Simulates \f(CW\*(C`\-exec ls \-dils {} ;\*(C'\fR
.ie n .IP """\-tar FILE""" 4
.el .IP "\f(CW\-tar FILE\fR" 4
Adds current output to tar-format \s-1FILE\s0.
.ie n .IP """\-cpio FILE""" 4
.el .IP "\f(CW\-cpio FILE\fR" 4
Adds current output to old-style cpio-format \s-1FILE\s0.
.ie n .IP """\-ncpio FILE""" 4
.el .IP "\f(CW\-ncpio FILE\fR" 4
Adds current output to \*(L"new\*(R"\-style cpio-format \s-1FILE\s0.
Predicates which take a numeric argument N can come in three forms:
\& * N is prefixed with a +: match values greater than N
\& * N is prefixed with a -: match values less than N
\& * N is not prefixed with either + or -: match only values equal to N