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