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 symbolic 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.tu-berlin.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¶
vl(1),
find(1)
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'.