sfind(1)
sfind(1) π
ok so bestie, welcome to sfind β it's part of ShapeTools, and it's literally the little recursive explorer for your shapeTools RMS tree. let's get into it π«Ά
β¨ NAME β¨
sfind β shapeTools RMS recursively descend a system hierarchy
π SYNOPSIS π
sfind [-subs | -comp] directory [command]
π¦ DESCRIPTION π¦
okay so here's the vibe: sfind recursively descends the system hierarchy of a software system managed by the shapeTools Release Management System (shapeTools RMS). it starts its search from directory and goes downwards from there, no cap. π§
and per the shapeTools RMS conventions, directory must contain a Shapefile β that's the file that lists the subsystems in the variable SUBSYSTEMS and the subsystem components in the variable COMPONENTS. every single subsystem gets visited. periodt. π
if you don't hand it a command, sfind just echoes the pathnames of the subsystems it finds β or, if you gave it the -comp option, it echoes the pathnames of the components of each subsystem instead. lowkey so handy. β¨
when you do give it a command, that command gets executed in the directory of each subsystem. and here's the iconic part: the string `{}` inside command gets replaced by the pathname of the subsystem or component. π
π OPTIONS π
-subsβcommandis invoked for each subsystem. this is the default, so if you say nothing, this is what you get, no questions asked.`{}`incommandis replaced by the pathname of the subsystem. π-compβcommandis invoked for each component.`{}`incommandis replaced by the pathname of the component. π
π EXAMPLES π
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\' \
\`shape -echo VERSIONFILE\`
necessary quoting to echo a pair of curly braces:
sfind ~/development echo two \\{\\} braces
π₯ SEE ALSO π₯
find(1), sh(1), shape(1), shape_RMS(1), shape_tmpl(7)
π CAVEATS π
quoting of shell meta characters can be tough. like, genuinely tough. be careful out there bestie. π
π BUGS π
- the program is slow because
shape(1)is called at least once for each subsystem. it's giving "worth it but alsoβ¦" ngl. - when
sfindis interrupted, usuallyshape(1)displays the message`shape - interrupted`, which may be confusing. don't panic, that's just what it does. π«Ά
π AUTHOR π
Andreas.Lampen@cs.tu-berlin.de
and that's the whole page, bestie!! this was shape_RMS-1.15, dated Fri Jun 25 17:01:50 1993 β iconic behavior from the ShapeTools era, we love to see it πβ¨π go descend that hierarchy, you main character π¦π
π¦ where this page comes from
- debian bookworm: shapetools 1.4pl6-15+b1
- ubuntu jammy: shapetools 1.4pl6-15
- ubuntu noble: shapetools 1.4pl6-16.1build1
- ubuntu questing: shapetools 1.4pl6-16.1build1
- ubuntu resolute: shapetools 1.4pl6-17
- ubuntu stonking: shapetools 1.4pl6-17
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms