find2perl - translate find command lines to Perl code
SYNOPSIS
find2perl [paths] [predicates] | perl
DESCRIPTION
find2perl is a little translator to convert find command
lines to equivalent Perl code. The resulting code is typ
ically faster than running find itself.
"paths" are a set of paths where find2perl will start its
searches and "predicates" are taken from the following
list.
`! PREDICATE'
Negate the sense of the following predicate. The `!'
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 using `find(1)').
`( PREDICATES )'
Group the given PREDICATES. The parentheses must be
passed as distinct arguments, so they may need to be
surrounded by whitespace and/or quoted from interpre
tation by the shell using a backslash (just as with
using `find(1)').
`PREDICATE1 PREDICATE2'
True if _both_ PREDICATE1 and PREDICATE2 are true;
PREDICATE2 is not evaluated if PREDICATE1 is false.
`PREDICATE1 -o PREDICATE2'
True if either one of PREDICATE1 or PREDICATE2 is
true; PREDICATE2 is not evaluated if PREDICATE1 is
true.
`-follow'
Follow (dereference) symlinks. The checking of file
attributes depends on the position of the `-follow'
option. If it precedes the file check option, an
`stat' is done which means the file check applies to
the file the symbolic link is pointing to. If `-fol
low' option follows the file check option, this now
applies to the symbolic link itself, i.e. an `lstat'
is done.
`-depth'
Change directory traversal algorithm from breadth-
first to depth-first.
Do not descend into the directory currently matched.
`-xdev'
Do not traverse mount points (prunes search at mount-
point directories).
`-name GLOB'
File name matches specified GLOB wildcard pattern.
GLOB may need to be quoted to avoid interpretation by
the shell (just as with using `find(1)').
`-perm PERM'
Low-order 9 bits of permission match octal value PERM.
`-perm -PERM'
The bits specified in PERM are all set in file's per
missions.
`-type X'
The file's type matches perl's `-X' operator.
`-fstype TYPE'
Filesystem of current path is of type TYPE (only
NFS/non-NFS distinction is implemented).
`-user USER'
True if USER is owner of file.
`-group GROUP'
True if file's group is GROUP.
`-nouser'
True if file's owner is not in password database.
`-nogroup'
True if file's group is not in group database.
`-inum INUM'
True file's inode number is INUM.
`-links N'
True if (hard) link count of file matches N (see
below).
`-size N'
True if file's size matches N (see below) N is nor
mally counted in 512-byte blocks, but a suffix of "c"
specifies that size should be counted in characters
(bytes) and a suffix of "k" specifes that size should
be counted in 1024-byte blocks.
`-atime N'
True if last-access time of file matches N (measured
`-ctime N'
True if last-changed time of file's inode matches N
(measured in days, see below).
`-mtime N'
True if last-modified time of file matches N (measured
in days, see below).
`-newer FILE'
True if last-modified time of file matches N.
`-print'
Print out path of file (always true).
`-print0'
Like -print, but terminates with \0 instead of \n.
`-exec OPTIONS ;'
exec() the arguments in OPTIONS in a subprocess; any
occurence of {} in OPTIONS will first be substituted
with the path of the current file. Note that the com
mand "rm" has been special-cased to use perl's
unlink() function instead (as an optimization). The
`;' 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 using `find(1)').
`-ok OPTIONS ;'
Like -exec, but first prompts user; if user's response
does not begin with a y, skip the exec. The `;' must
be passed as a distinct argument, so it may need to be
surrounded by whitespace and/or quoted from interpre
tation by the shell using a backslash (just as with
using `find(1)').
`-eval EXPR'
Has the perl script eval() the EXPR.
`-ls'
Simulates `-exec ls -dils {} ;'
`-tar FILE'
Adds current output to tar-format FILE.
`-cpio FILE'
Adds current output to old-style cpio-format FILE.
`-ncpio FILE'
Adds current output to "new"-style cpio-format FILE.
Predicates which take a numeric argument N can come in
* 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
SEE ALSO
find
Man(1) output converted with
man2html