find2perl

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. Negate the sense of the following predicate. The CW! 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 CWfind(1)). 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 using CWfind(1)). True if _both_ \s-1PREDICATE1\s0 and \s-1PREDICATE2\s0 are true; \s-1PREDICATE2\s0 is not evaluated if \s-1PREDICATE1\s0 is false. 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. Follow (dereference) symlinks. The checking of file attributes depends on the position of the CW-follow option. If it precedes the file check option, an CWstat is done which means the file check applies to the file the symbolic link is pointing to. If CW-follow option follows the file check option, this now applies to the symbolic link itself, i.e. an CWlstat is done. Change directory traversal algorithm from breadth-first to depth-first. Do not descend into the directory currently matched. Do not traverse mount points (prunes search at mount-point directories). 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 CWfind(1)). Like CW-name, but the match is case insensitive. Path name matches specified \s-1GLOB\s0 wildcard pattern. Like CW-path, but the match is case insensitive. Low-order 9 bits of permission match octal value \s-1PERM\s0. The bits specified in \s-1PERM\s0 are all set in file's permissions. The file's type matches perl's CW-X operator. Filesystem of current path is of type \s-1TYPE\s0 (only NFS/non-NFS distinction is implemented). True if \s-1USER\s0 is owner of file. True if file's group is \s-1GROUP\s0. True if file's owner is not in password database. True if file's group is not in group database. True file's inode number is \s-1INUM\s0. True if (hard) link count of file matches N (see below). True 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” specifes that size should be counted in 1024-byte blocks. True if last-access time of file matches N (measured in days) (see below). True if last-changed time of file's inode matches N (measured in days, see below). True if last-modified time of file matches N (measured in days, see below). True if last-modified time of file matches N. Print out path of file (always true). If none of CW-exec, CW-ls, CW-print0, or CW-ok is specified, then CW-print will be added implicitly. Like -print, but terminates with \0 instead of \n. exec() 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 “rm” has been special-cased to use perl's unlink() function instead (as an optimization). The CW; 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 CWfind(1)). Like -exec, but first prompts user; if user's response does not begin with a y, skip the exec. The CW; 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 CWfind(1)). Has the perl script eval() the \s-1EXPR\s0. Simulates CW-exec ls -dils {} ; Adds current output to tar-format \s-1FILE\s0. Adds current output to old-style cpio-format \s-1FILE\s0. Adds current output to “new”-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

SEE ALSO

find