add werc/bin/ssam
This commit is contained in:
parent
6afcf7d75b
commit
9f001e3d9e
56
bin/ssam
Executable file
56
bin/ssam
Executable file
@ -0,0 +1,56 @@
|
||||
#!/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
|
Loading…
Reference in New Issue
Block a user