NAME
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 typically 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.
! PREDICATENegate 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 usingfind(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 interpretation by the shell using a backslash (just as with using
find(1)).PREDICATE1 PREDICATE2True if _both_ PREDICATE1 and PREDICATE2 are true; PREDICATE2 is not evaluated if PREDICATE1 is false.
PREDICATE1 -o PREDICATE2True if either one of PREDICATE1 or PREDICATE2 is true; PREDICATE2 is not evaluated if PREDICATE1 is true.
-followFollow (dereference) symlinks. The checking of file attributes depends on the position of the
-followoption. If it precedes the file check option, anstatis done which means the file check applies to the file the symbolic link is pointing to. If-followoption follows the file check option, this now applies to the symbolic link itself, i.e. anlstatis done.-depthChange directory traversal algorithm from breadth-first to depth-first.
-pruneDo not descend into the directory currently matched.
-xdevDo not traverse mount points (prunes search at mount-point directories).
-name GLOBFile name matches specified GLOB wildcard pattern. GLOB may need to be quoted to avoid interpretation by the shell (just as with using
find(1)).-iname GLOBLike
-name, but the match is case insensitive.-path GLOBPath name matches specified GLOB wildcard pattern.
-ipath GLOBLike
-path, but the match is case insensitive.-perm PERMLow-order 9 bits of permission match octal value PERM.
-perm -PERMThe bits specified in PERM are all set in file's permissions.
-type XThe file's type matches perl's
-Xoperator.-fstype TYPEFilesystem of current path is of type TYPE (only NFS/non-NFS distinction is implemented).
-user USERTrue if USER is owner of file.
-group GROUPTrue if file's group is GROUP.
-nouserTrue if file's owner is not in password database.
-nogroupTrue if file's group is not in group database.
-inum INUMTrue file's inode number is INUM.
-links NTrue if (hard) link count of file matches N (see below).
-size NTrue if file's size matches N (see below) N is normally counted in 512-byte blocks, but a suffix of "c" specifies that size should be counted in characters (bytes) and a suffix of "k" specifies that size should be counted in 1024-byte blocks.
-atime NTrue if last-access time of file matches N (measured in days) (see below).
-ctime NTrue if last-changed time of file's inode matches N (measured in days, see below).
-mtime NTrue if last-modified time of file matches N (measured in days, see below).
-newer FILETrue if last-modified time of file matches N.
-printPrint out path of file (always true). If none of
-exec,-ls,-print0, or-okis specified, then-printwill be added implicitly.-print0Like -print, but terminates with \0 instead of \n.
-exec OPTIONS ;exec() the arguments in OPTIONS in a subprocess; any occurrence of {} in OPTIONS will first be substituted with the path of the current file. Note that the command "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 usingfind(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 interpretation by the shell using a backslash (just as with usingfind(1)).-eval EXPRHas the perl script eval() the EXPR.
-lsSimulates
-exec ls -dils {} ;-tar FILEAdds current output to tar-format FILE.
-cpio FILEAdds current output to old-style cpio-format FILE.
-ncpio FILEAdds current output to "new"-style cpio-format FILE.
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
SEE ALSO
find

