2011-10-23 01:01:07 +00:00
|
|
|
#!/bin/rc
|
|
|
|
# ssam - stream interface to sam
|
2015-03-17 03:44:04 +00:00
|
|
|
rfork e
|
2011-10-23 01:01:07 +00:00
|
|
|
|
|
|
|
flagfmt='n,e script,f sfile'
|
|
|
|
args='[ file ... ]'
|
2020-03-10 17:09:34 +00:00
|
|
|
argv0=$0
|
|
|
|
fn usage { echo usage: $argv0 '[ -n ] [ -e script ] [ -f sfile ] [ file ... ]' >[1=2] }
|
2011-10-23 01:01:07 +00:00
|
|
|
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
|
|
|
|
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
|