'br}

'br}

{\

## 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.

*(L"paths*(R" are a set of paths where find2perl will start its searches and *(L"predicates*(R" are taken from the following list.

Negate the sense of the following predicate. The f(CW*(C`!*(C' 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 f(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 f(CWfind(1)).

True if _both_ s-1PREDICATE1s0 and s-1PREDICATE2s0 are true; s-1PREDICATE2s0 is not evaluated if s-1PREDICATE1s0 is false.

True if either one of s-1PREDICATE1s0 or s-1PREDICATE2s0 is true; s-1PREDICATE2s0 is not evaluated if s-1PREDICATE1s0 is true.

Follow (dereference) symlinks. The checking of file attributes depends on the position of the f(CW*(C`-follow*(C' option. If it precedes the file check option, an f(CW*(C`stat*(C' is done which means the file check applies to the file the symbolic link is pointing to. If f(CW*(C`-follow*(C' option follows the file check option, this now applies to the symbolic link itself, i.e. an f(CW*(C`lstat*(C' 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-1GLOBs0 wildcard pattern. s-1GLOBs0 may need to be quoted to avoid interpretation by the shell (just as with using f(CWfind(1)).

Like f(CW*(C`-name*(C', but the match is case insensitive.

Path name matches specified s-1GLOBs0 wildcard pattern.

Like f(CW*(C`-path*(C', but the match is case insensitive.

Low-order 9 bits of permission match octal value s-1PERM.s0

The bits specified in s-1PERMs0 are all set in file's permissions.

The file's type matches perl's f(CW*(C`-X*(C' operator.

Filesystem of current path is of type s-1TYPE s0(only NFS/non-NFS distinction is implemented).

True if s-1USERs0 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 *(L"c*(R" specifies that size should be counted in characters (bytes) and a suffix of *(L"k*(R" specifies 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 f(CW*(C`-exec*(C', f(CW*(C`-ls*(C', f(CW*(C`-print0*(C', or f(CW*(C`-ok*(C' is specified, then f(CW*(C`-print*(C' will be added implicitly.

Like -print, but terminates with e0 instead of en.

exec() the arguments in s-1OPTIONSs0 in a subprocess; any occurrence of {} in s-1OPTIONSs0 will first be substituted with the path of the current file. Note that the command *(L"rm*(R" has been special-cased to use perl's unlink() function instead (as an optimization). The f(CW*(C`;*(C' 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 f(CWfind(1)).

Like -exec, but first prompts user; if user's response does not begin with a y, skip the exec. The f(CW*(C`;*(C' 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 f(CWfind(1)).

Has the perl script eval() the s-1EXPR. s0

Simulates f(CW*(C`-exec ls -dils {} ;*(C'

Adds current output to tar-format s-1FILE.s0

Adds current output to old-style cpio-format s-1FILE.s0

Adds current output to *(L"new*(R"-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, File::Find.