Try this:
#!/bin/ksh
dir='/home/myfiledir'
bkpdir='/home/mybkpdir'
LOAD_LOG=/tmp/mylog.log
echo "There are $(ls -1 $dir|wc -l) files in $dir"
for fil in $(ls -1 $dir)
do
echo "Loading $fil ..."
sqlldr / control=myfile.ctl DATA=$fil LOG=$LOAD_LOG
if [[ "$(grep ^ORA- $LOAD_LOG | wc -l)" -gt 0 ]]
then
echo "Oracle error(s) occured, check log $LOAD_LOG"
exit 3
fi
REC_CNT=$(grep ' Rows successfully loaded.' $LOAD_LOG|awk '{print $1;}')
BAD_REC=$(grep 'Total logical records rejected:' $LOAD_LOG|awk -F: '{print $2;}')
DSC_REC=$(grep 'Total logical records discarded:' $LOAD_LOG|awk -F: '{print $2;}')
REC_CNT=${REC_CNT:=0}
if test $REC_CNT -eq 0
then
echo "!Error: SQL LOADER FAILED, No records loaded."
exit 3
fi
ERR_CNT=$(expr $BAD_REC + $DSC_REC )
if [ ${ERR_CNT:-1} -ne 0 ]
then
echo "!Error: SQL LOADER FAILED, Bad or Discarded records."
exit 3
fi
echo "$REC_CNT Rows successfully loaded."
mv $fil $mybkupdir
done
