Shapetools rms recursively descend a system hierarchy
sfind [-subs | -comp] directory [command]
Sfind recursively descends the system hierarchy of a software system managed by the shapeTools Release Management System (shapeTools RMS). Sfind starts it's search from directory downwards. According to the shapeTools RMS conventions, directory must contain a Shapefile which lists the subsystems in the variable SUBSYSTEMS and the subsystem components in the variable COMPONENTS. Each subsystem is visited.
If no command is specified, sfind echoes the pathnames of the subsystems it finds, or, if the option -comp is given, the pathnames of the components of each subsystem.
When a command is given, it is executed in the directory of each subsystem. The string ``{}'' in command is replaced by the pathname of the subsystem or component.
-subs
command is invoked for each subsystem. This is the default. ``{}'' in command is replaced by the pathname of the subsystem.
-comp
command is invoked for each component. ``{}'' in command is replaced by the pathname of the component.
List all system components:
sfind -comp ~/development
Show the pathnames of all versionfiles:
sfind ~/development echo -n {}/ \; shape -echo VERSIONFILE
Echo identification of the last release of each subsystem:
sfind ~/development vl -last -format \ \'\$__lastrelease\$\\n\' \
#96;shape -echo VERSIONFILE#96;
Necessary quoting to echo a pair of curly braces:
sfind ~/development echo two \\{\\} braces
find(1), sh(1), shape(1), shape_RMS(1), shape_tmpl(7)
Quoting of shell meta characters can be tough.