vfind(1)
NAME
vfind - find attributed software objects (ASOs)
SYNOPSIS
vfind [ options ] pathname-list expression
DESCRIPTION
Vfind recursively descends the directory hierarchy for each pathname in
the pathname-list seeking asos that match a boolean expression written
in the primaries given below. In the description, the argument n is
used as a decimal integer where +n means more than n, -n means less
than n and n means exactly n.
OPTIONS
- -version
- print version information about the vfind program itself. No other action given will be performed.
- -?, -help
- print brief instructions about using vfind.
- -cache match a boolean expression also for aso residing in the derived
- object cache.
- -cut nesting depth
- causes vfind to descend the filesystem hierarchy down to nesting depth nesting depth.
- -force Vfind normally ignores saved asos iff a AtFS directory is a sym
- bolic link. If the -force option is given vfind takes also symbolic AtFS directories into consideration.
- -hits causes vfind to return the number of expressions yielding true
- during evaluation.
- -xdev causes vfind not to traverse down into a file system different
- from the one on which current argument pathname resides.
PRIMARIES
- -atime n
- True if the aso has been accessed in n days.
- -ctime n
- True if status of the aso has been changed in n days.
- -mtime n
- True if the aso has been modified in n days.
- -stime n
- True if the aso has been saved in n days.
- -ltime n
- True if the aso has been locked in n days.
- -exec command
- True if the executed command returns a zero value as exit status. The end of the command must be punctated by an ecscaped semicolon. A command argument `{}' is replaced by the system name of the current aso.
- -exit n
- Terminates vfind and returns n as the exit status.
- -vl Always true; causes the current aso to be printed together with
- its associated statistics. This includes protection mode, AtFS version state, user, host, size in bytes, modification time respectively saving time. The format is identical to that of ``vl -l''.
- -name name
- True if the name argument matches the filename component of the current aso. Normal Shell argument syntax may be used if escaped.
- -perm onum
- True if the aso permission flags exactly match the octal numer onum. If onum is prefixed by a minus sign, more flag bits (017777) become significant and the flags are compared: (flags&onum)==onum.
- -print Always true; causes the relative path of the current aso to be
- printed.
- -prune Always true; has the side effect of pruning the tree, iff the
- current file is a directory.
- -SinceName name
- True if the current aso is older than the corresponding aso having the symbolic name name.
- -symbolic name
- True if the current aso has the symbolic name name. See vadm(1) or save(1) on how to attach a symbolic name to an aso.
- -state state
- True if the state of the current aso matches state state, where state is busy, save, proposed, published, accessed, or frozen.
- -type c
- True if the type of the current aso is c, where c is b, c, d, f, l, or s for block special file, character special file, directory, plain file, symbolic link, or socket.
- -uda uda
- True if the current aso has an user defined attribute matching uda uda, where uda is of the form name[=value].
- -user user
- True if the current aso belongs to user user, where user is a login name optinally followed by a domainname (e.g. uli@cs.tuberlin.de).
- -last True if the current aso is the last version of the development
- line.
- -first True if the current aso is the first version of the development
- line.
- -locked
- True if the current aso is locked.
- -locker user
- True if the current aso is locked by user user, where user is a login name optionally followed by a domainname.
- -eq vnum
- True if the version number of the current aso matches version number vnum, where vnum is generation.revision.
- -lt vnum
- True if the version number of the current aso is less than the version number vnum.
- -le vnum
- True if the version number of the current aso is less equal than the version number vnum.
- -gt vnum
- True if the version number of the current aso is greater than the version number vnum.
- -ge vnum
- True if the version number of the current aso is greater equal than the version number vnum.
- -newer file
- True if the current aso is more recently than the argument file which can be an aso (e.g. vfind.c[1.6]).
- -size n
- True if the file is n blocks long (512 bytes per block).
- The primaries may be combined using the operators (, ) for grouping, ! for negation, -a for concatenation (may be omitted) and -o for alternation of primaries. Parentheses and the exclamation mark are special to the Shell and must be escaped.
- vfind does not descent AtFS directories, so the AtFS archives are never selected.
EXAMPLES
- To find all asos whose state is busy and that have the symbolic name
"foobar":
- vfind / -state busy -symbolic foobar -print
- To find the latest proposed version of foo.c in the current directory:
vfind -prune 0 . -name foo.c -state proposed -last -print
SEE ALSO
INCOMPATIBILITIES
The following find(1) primaries are not recognized or implemented:
-link, -nouser, -group, -nogroup, -inum, and -ok.
AUTHOR
- Uli.Pralle@cs.tu-berlin.de
Steve Emerson (steve@unidata.ucar.edu) contributed the primary 'SinceName'.