1#!/bin/bash 2 3if [[ -z "$AWK" || -z "$WORKDIR" ]]; then 4 printf '$AWK and $WORKDIR must be set\n' >&2 5 exit 1 6fi 7 8TEMP0=$WORKDIR/test.temp.0 9TEMP1=$WORKDIR/test.temp.1 10TEMP2=$WORKDIR/test.temp.2 11 12RESULT=0 13 14fail() { 15 echo "$1" >&2 16 RESULT=1 17} 18 19echo T.delete: misc tests of array deletion 20 21echo '1 2 3 4 221 2 3 231 24' > $TEMP0 25echo '4 3 0 263 2 0 271 0 0 280 0 0' > $TEMP2 29$AWK ' 30{ n = split($0, x) 31 delete x[1] 32 n1 = 0; for (i in x) n1++ 33 delete x; 34 n2 = 0; for (i in x) n2++ 35 print n, n1, n2 36}' $TEMP0 > $TEMP1 37diff $TEMP1 $TEMP2 || fail 'BAD: T.delete (1)' 38 39exit $RESULT 40