1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
|
#!/bin/sh
#set -x
PLATFORM=`uname`
VERBOSE=0
OPROG=fundisp
NPROG=../fundisp
STDIN=/dev/null
DIR=../txt/
if [ -r /usr/ucb/echo ]; then
ECHO=/usr/ucb/echo
else
ECHO=echo
fi
while [ x"$1" != x ]; do
case $1 in
-1)
DO1=YES
shift
continue;;
-n)
shift
NPROG=$1
shift
continue;;
-o)
shift
OPROG=$1
shift
continue;;
-p)
shift
STDIN=$1
if [ x`$ECHO $STDIN | awk -F. '{print $NF}'` = x"gz" ]; then
NFILE=stdin.gz
else
NFILE=stdin
fi
shift
continue;;
-P)
DO1=YES
NPROG=../fundisp.pure
shift
continue;;
-v)
VERBOSE=1
shift
continue;;
-V)
VERBOSE=2
shift
continue;;
*)
shift
continue;;
esac
done
$ECHO "OPROG="${OPROG}
$ECHO "NPROG="${NPROG}
IFS=" "
while read ARG1 ARG2 ARG3; do
if [ x"$ARG1" = x ]; then
continue
fi
if [ x`$ECHO $ARG1 | sed 's/^#.*/YES/g'` = x"YES" ]; then
continue
fi
CMD=$ARG1
ARG2=${DIR}${ARG2}
ARG3=${DIR}${ARG3}
case $CMD in
OPROG)
OPROG=$ARG2
$ECHO OPROG="${OPROG}"
;;
NPROG)
NPROG=$ARG2
$ECHO NPROG="${NPROG}"
;;
EXIT)
exit
;;
EXACT|SUM|REV)
if [ x"$DO1" = xYES ]; then
$ECHO "${M}DO1: $ARG3"
cat $STDIN | $NPROG $ARG3 > fundisp1.out
else
$ECHO "${M}EXACT: $ARG2 ... $ARG3"
CMP=yes
XPROG=""
$OPROG $ARG2 > tfundisp1.out
if test $? -ne 0; then
CMP=no
XPROG="$OPROG"
fi
cat $STDIN | $NPROG $ARG3 > tfundisp2.out
if test $? -ne 0; then
CMP=no
XPROG="${XPROG:-}${XPROG:+' '}$NPROG"
fi
if [ x"$CMP" = xyes ]; then
if [ x"$ZBUG" = xtrue ]; then
sed "/^ *$X $Y.*$/d" < tfundisp1.out > fundisp1.out
sed "/^ *$X $Y.*$/d" < tfundisp2.out > fundisp2.out
else
mv tfundisp1.out fundisp1.out
mv tfundisp2.out fundisp2.out
fi
diff fundisp1.out fundisp2.out
else
$ECHO "skipping compare due to errors in $XPROG"
fi
fi
$ECHO " "
;;
*)
$ECHO "ERROR: unknown command: $CMD"
exit 1
;;
esac
if [ $VERBOSE = 1 ]; then
$ECHO "***** fundisp1.out *****"
cat fundisp1.out
fi
if [ $VERBOSE = 2 ]; then
$ECHO "***** fundisp1.out *****"
cat fundisp1.out
$ECHO "***** fundisp2.out *****"
cat fundisp2.out
fi
rm -f err.log
done
rm -f fundisp1.out fundisp2.out tfundisp1.out tfundisp2.out
|