ref: c275224f3c5aea08cf5f6a24fe6e63d1db4a3a0e
dir: /bin/ssam/
#!/bin/rc # ssam - stream interface to sam rfork e fn enosam { echo ssam: sam not found >[1=2] } for(i in `{whatis sam}){ if(test -x $i) j=1 } if(~ $#j 0){ enosam exit enosam } flagfmt='n,e script,f sfile' args='[ file ... ]' argv0=$0 fn usage { echo usage: $argv0 '[ -n ] [ -e script ] [ -f sfile ] [ file ... ]' >[1=2] } if(! ifs=() eval `{aux/getflags $*}){ usage exit usage } if(~ $#flage 0 && ~ $#flagf 0) { if(~ $#* 0) { usage exit usage } flage=$1 shift } if(~ $#TMPDIR 0) TMPDIR=/tmp if(~ $#user 0) user=$USER tmp=$TMPDIR/ssam.tmp.$user.$pid cat $* >$tmp { # select entire file echo ',{' echo k echo '}' echo 0k # run scripts, print if(! ~ $#flagf 0) cat $flagf if(! ~ $#flage 0) echo $flage if(~ $#flagn 0) echo , } | sam -d $tmp >[2]/dev/null rm -f $tmp