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 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 interpretation 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 "−follow" 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. |
"−prune" |
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)). |
"−iname GLOB" |
Like "−name", but the match is case insensitive. |
"−path GLOB" |
Path name matches specified GLOB wildcard pattern. |
"−ipath GLOB" |
Like "−path", but the match is case insensitive. |
"−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 permissions. |
"−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 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 N" |
True if last-access time of file matches N (measured in days) (see below). |
"−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). If none of "−exec", "−ls", "−print0", or "−ok" is specified, then "−print" will be added implicitly. |
"−print0" |
Like −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 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 interpretation 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 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 |
find, File::Find. |