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.
! 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 -followoption. If it precedes the file check option, an statis 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. an lstatis 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 files permissions. |
-type X |
The files type matches perls -Xoperator. |
-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 files group is GROUP. |
-nouser | True if files owner is not in password database. |
-nogroup | True if files group is not in group database. |
-inum INUM | True files inode number is INUM. |
-links N | True if (hard) link count of file matches N (see below). |
-size N | True if files 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 files 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 out path of file (always true). If none of -exec, -ls, -print0, or -okis specified, then |
-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 perls
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 users 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. |
* 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