2010-09-18 11:12:59 +02:00
|
|
|
#!/bin/bash
|
2000-04-27 22:03:57 +02:00
|
|
|
#set -x -v
|
|
|
|
|
|
|
|
|
|
# MW. Lip / Param parsing program for spice
|
|
|
|
|
|
|
|
|
|
# -n normal, -f full (keep everything), -r replace original file
|
|
|
|
|
|
|
|
|
|
export TMPLP=/tmp/LibPrm.$$-
|
|
|
|
|
|
|
|
|
|
function trapper()
|
|
|
|
|
{
|
|
|
|
|
echo User break!
|
|
|
|
|
echo Exiting . . .
|
|
|
|
|
rm -f -v ${TMPLP}*
|
|
|
|
|
unset TMPLP
|
|
|
|
|
exit 1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
trap trapper SIGINT SIGQUIT
|
|
|
|
|
|
|
|
|
|
function operror()
|
|
|
|
|
{
|
|
|
|
|
echo Incorrect parameters: $*, $#
|
|
|
|
|
unset TMPLP
|
|
|
|
|
exit 2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function repnormpl()
|
|
|
|
|
{
|
|
|
|
|
mslib $1 ${TMPLP}1
|
|
|
|
|
sed -n -e 'p' -e "1r ${TMPLP}1" $1 >${TMPLP}2
|
|
|
|
|
spiceprm ${TMPLP}2 $2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function keepall()
|
|
|
|
|
{
|
|
|
|
|
mslib $1
|
|
|
|
|
sed -n -e 'p' -e "1r $1.lib" $1 >${TMPLP}2
|
|
|
|
|
spiceprm ${TMPLP}2 $2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Main body
|
|
|
|
|
if test $# -lt 2 -o $# -gt 3; then operror $*; fi
|
|
|
|
|
|
|
|
|
|
case $1$# in
|
|
|
|
|
-r3) operror $*;;
|
|
|
|
|
-n2) repnormpl $2 ${2%.cir}.ckt;;
|
|
|
|
|
-n3) repnormpl $2 $3;;
|
|
|
|
|
-r2) repnormpl $2 $2;;
|
|
|
|
|
-f2) keepall $2 ${2%.cir}.ckt;;
|
|
|
|
|
-f3) keepall $2 $3;;
|
|
|
|
|
esac
|
|
|
|
|
|
|
|
|
|
rm -f ${TMPLP}*
|
|
|
|
|
unset TMPLP
|
|
|
|
|
exit 0
|
|
|
|
|
|