#!/usr/bin/ksh
exec 0<property
while read newReceiveDir
do
if [ {$newReceiveDir:0:11} = New receive ]
then
sed -e 's//home/joshua/bodi/data/receive/{$newReceiveDir:25}/g/' mp_validate.sh >| mp_validate.sh
elif [ {$newReceiveDir:0:8} = New temp ]
then
sed -e 's//home/joshua/bodi/data/temp/{$newReceiveDir:22}/g/' mp_validate.sh >| mp_validate.sh
elif [ {$newReceiveDir:0:11} = New working ]
then
sed -e 's//home/joshua/bodi/data/working/{$newReceiveDir:25}/g/' mp_validate.sh >| mp_validate.sh
elif [ {$newReceiveDir:0:11} = New archive ]
sed -e 's//home/joshua/bodi/data/archive/{$newReceiveDir:25}/g/' mp_validate.sh >| mp_validate.sh
fi
done
Something wrong i the above code?
Thank you .
This code is KSH93 specific and contains many errors.
#!/usr/bin/ksh
exec 0<property
while read newReceiveDir
do
if [ "${newReceiveDir:0:11}" = "New receive" ]
then
sed -e "s�/home/joshua/bodi/data/receive�${newReceiveDir:25}�g" mp_validate.sh >| mp_validate.tmp
elif [ "${newReceiveDir:0:8}" = "New temp" ]
then
sed -e "s�/home/joshua/bodi/data/temp�${newReceiveDir:22}�g" mp_validate.sh >| mp_validate.tmp
elif [ "${newReceiveDir:0:11}" = "New working" ]
then
sed -e "s�/home/joshua/bodi/data/working�${newReceiveDir:25}�g" mp_validate.sh >| mp_validate.tmp
elif [ "${newReceiveDir:0:11}" = "New archive" ]
then # added
sed -e "s�/home/joshua/bodi/data/archive�${newReceiveDir:25}�g" mp_validate.sh >| mp_validate.tmp
fi
mv mp_validate.tmp mp_validate.sh
done
You can avoid using nested if :
#!/usr/bin/ksh
exec 0<property
while read newReceiveDir
do
case "${newReceiveDir}" in
New\ receive*)
sed -e "s�/home/joshua/bodi/data/receive�${newReceiveDir:25}�g" mp_validate.sh >| mp_validate.tmp ;;
New\ temp*)
sed -e "s�/home/joshua/bodi/data/temp�${newReceiveDir:22}�g" mp_validate.sh >| mp_validate.tmp ;;
New\ working*)
sed -e "s�/home/joshua/bodi/data/working�${newReceiveDir:25}�g" mp_validate.sh >| mp_validate.tmp ;;
New\ archive*)
sed -e "s�/home/joshua/bodi/data/archive�${newReceiveDir:25}�g" mp_validate.sh >| mp_validate.tmp ;;
esac
mv mp_validate.tmp mp_validate.sh
done
Jean-Pierre.