Hi,
I have this following script below. Its searching a log file for 2 string and if found then write the strings to success.txt and If not found write strings to failed.txt . if one found and not other...then write found to success.txt and not found to failed.txt.
I want to optimize this script in a better way, say using awk or anyother way in shell scripting.
Can anyone help?
thanks
Amit
========Script===========
#!/bin/tcsh
echo "\nImages successfully built:" > /users/amvarma/success.txt
echo "--------------------------" >> /users/amvarma/success.txt
echo "\nImages failed to build:" > /users/amvarma/failed.txt
echo "--------------------------" >> /users/amvarma/failed.txt
##### Scan c3560 log ####
echo "Scan c3560 log\n"
v1=`fgrep "cp c3560-ipbase-mz /tftpboot/amvarma/c3560-ipbase-mz" /users/amvarma/c3560-log.txt`
v2=`fgrep "cp c3560-ipservices-mz /tftpboot/amvarma/c3560-ipservices-mz" /users/amvarma/c3560-log.txt`
if [ -n "$v1" ] && [ -n "$v2" ]; then
echo "c3560-ipbase-mz" >> /users/amvarma/success.txt
echo "c3560-ipservices-mz">> /users/amvarma/success.txt
elif [ -n "$v1" ] && [ -z $v2 ]; then
echo "c3560-ipbase-mz" >> /users/amvarma/success.txt
echo "c3560-ipservices-mz">> /users/amvarma/failed.txt
elif [ -z "$v1" ] && [ -n "$v2" ]; then
echo "c3560-ipbase-mz" >> /users/amvarma/failed.txt
echo "c3560-ipservices-mz">> /users/amvarma/success.txt
elif [ -z "$v1" ] && [ -z "$v2" ]; then
echo "c3560-ipbase-mz" >> /users/amvarma/failed.txt
echo "c3560-ipservices-mz">> /users/amvarma/failed.txt
else
echo ""
fi
##scan c3560 crypto log##
echo "Scan c3560 crypto log\n"
v1=
v2=
v1=`fgrep "cp c3560-ipbasek9-mz /tftpboot/amvarma/c3560-ipbasek9-mz" /users/amvarma/c3560-crypto-log.txt`
v2=`fgrep "cp c3560-advipservicesk9-mz /tftpboot/amvarma/c3560-advipservicesk9-mz" /users/amvarma/c3560-crypto-log.txt`
v3=`fgrep "cp c3560-ipservicesk9-mz /tftpboot/amvarma/c3560-ipservicesk9-mz" /users/amvarma/c3560-crypto-log.txt`
if [ -n "$v1" ] && [ -n "$v2" ] && [ -n $v3 ]; then
echo "c3560-ipbasek9-mz" >> /users/amvarma/success.txt
echo "c3560-advipservicesk9-mz">> /users/amvarma/success.txt
echo "c3560-ipservicesk9-mz" >> /users/amvarma/success.txt
elif [ -n "$v1" ] && [ -n $v2 ] && [ -z $v3 ]; then
echo "c3560-ipbase-mz" >> /users/amvarma/success.txt
echo "c3560-advipservicesk9-mz">> /users/amvarma/success.txt
echo "c3560-ipservicesk9-mz">> /users/amvarma/failed.txt
elif [ -n "$v1" ] && [ -z $v2 ] && [ -n $v3 ]; then
echo "c3560-ipbase-mz">> /users/amvarma/success.txt
echo "c3560-advipservicesk9-mz">> /users/amvarma/failed.txt
echo "c3560-ipservicesk9-mz">> /users/amvarma/success.txt
elif [ -z "$v1" ] && [ -z $v2 ] && [ -z $v3 ]; then
echo "c3560-ipbase-mz">> /users/amvarma/failed.txt
echo "c3560-advipservicesk9-mz">> /users/amvarma/failed.txt
echo "c3560-ipservicesk9-mz">> /users/amvarma/failed.txt
else
echo ""
fi
## End ##
##### Scan c3560e log #####
echo "scan c3560e log\n"
v1=
v1=`fgrep "cp c3560e-universal-mz /tftpboot/amvarma/c3560e-universal-mz" c3560e-log.txt`
#echo $v1
if [ -z "$v1" ]; then
echo "c3560e-universal-mz">> /users/amvarma/failed.txt
else
echo "c3560e-universal-mz">> /users/amvarma/success.txt
fi
#### Scan c3560e Crypto log ####
echo "scan c3560e log\n"
v1=
v1=`fgrep "cp c3560e-universalk9-mz /tftpboot/amvarma/c3560e-universalk9-mz" c3560e-crypto-log.txt`
#echo $v1
if [ -z "$v1" ]; then
echo "cp c3560e-universalk9-mz">> /users/amvarma/failed.txt
else
echo "cp c3560e-universalk9-mz">> /users/amvarma/success.txt
fi
## End ###
###### Scan c3750 log ########
echo "Scan c3750 log\n"
v1=
v2=
v1=`fgrep "cp c3750-ipbase-mz /tftpboot/amvarma/c3750-ipbase-mz" c3750-log.txt`
v2=`fgrep "cp c3750-ipservices-mz /tftpboot/amvarma/c3750-ipservices-mz" c3750-log.txt`
#echo $v1 "\n"
#echo $v2 "\n"
if [ -n "$v1" ] && [ -n "$v2" ]; then
echo "c3750-ipbase-mz" >> /users/amvarma/success.txt
echo "c3750-ipservices-mz">> /users/amvarma/success.txt
elif [ -n "$v1" ] && [ -z $v2 ]; then
echo "c3750-ipbase-mz" >> /users/amvarma/success.txt
echo "c3750-ipservices-mz">> /users/amvarma/failed.txt
elif [ -z "$v1" ] && [ -n "$v2" ]; then
echo "c3750-ipbase-mz" >> /users/amvarma/failed.txt
echo "c3750-ipservices-mz">> /users/amvarma/success.txt
elif [ -z "$v1" ] && [ -z "$v2" ]; then
echo "c3750-ipbase-mz" >> /users/amvarma/failed.txt
echo "c3750-ipservices-mz">> /users/amvarma/failed.txt
else
echo ""
fi
# scan c3750 crypto log #
echo "Scan c3750 crypto log\n"
v1=
v2=
v3=
v1=`fgrep "cp c3750-ipbasek9-mz /tftpboot/amvarma/c3750-ipbasek9-mz" /users/amvarma/c3750-crypto-log.txt`
v2=`fgrep "cp c3750-ipservicesk9-mz /tftpboot/amvarma/c3750-ipservicesk9-mz" /users/amvarma/c3750-crypto-log.txt`
v3=`fgrep "cp c3750-advipservicesk9-mz /tftpboot/amvarma/c3750-advipservicesk9-mz" /users/amvarma/c3750-crypto-log.txt`
if [ -n "$v1" ] && [ -n "$v2" ] && [ -n $v3 ]; then
echo "c3750-ipbasek9-mz">> /users/amvarma/success.txt
echo "c3750-ipservicesk9-mz">> /users/amvarma/success.txt
echo "c3750-advipservicesk9-mz" >> /users/amvarma/success.txt
elif [ -n "$v1" ] && [ -n $v2 ] && [ -z $v3 ]; then
echo "c3750-ipbasek9-mz">> /users/amvarma/success.txt
echo "c3750-ipservicesk9-mz">> /users/amvarma/success.txt
echo "c3750-advipservicesk9-mz" >> /users/amvarma/failed.txt
elif [ -n "$v1" ] && [ -z $v2 ] && [ -n $v3 ]; then
echo "c3750-ipbasek9-mz">> /users/amvarma/success.txt
echo "c3750-ipservicesk9-mz">> /users/amvarma/failed.txt
echo "c3750-advipservicesk9-mz" >> /users/amvarma/success.txt
elif [ -z "$v1" ] && [ -n $v2 ] && [ -n $v3 ]; then
echo "c3750-ipbasek9-mz">> /users/amvarma/failed.txt
echo "c3750-ipservicesk9-mz">> /users/amvarma/failed.txt
echo "c3750-advipservicesk9-mz">> /users/amvarma/failed.txt
elif [ -z "$v1" ] && [ -z $v2 ] && [ -z $v3 ]; then
echo "c3750-ipbasek9-mz">> /users/amvarma/failed.txt
echo "c3750-ipservicesk9-mz">> /users/amvarma/failed.txt
echo "c3750-advipservicesk9-mz">> /users/amvarma/failed.txt
else
echo ""
fi
#### End ####
##### Scan c3750e log #####
echo "scan c3750e log\n"
v1=
v1=`fgrep "cp c3750e-universal-mz /tftpboot/amvarma/c3750e-universal-mz" c3750e-log.txt`
#echo $v1
if [ -z "$v1" ]; then
echo "c3750e-universal-mz">> /users/amvarma/failed.txt
else
echo "c3750e-universal-mz">> /users/amvarma/success.txt
fi
## Scan c3750e crypto log ###
v1=
v1=`fgrep "cp c3750e-universalk9-mz /tftpboot/amvarma/c3750e-universalk9-mz" c3750e-crypto-log.txt`
if [ -z "$v1" ]; then
echo "c3750e-universalk9-mz">> /users/amvarma/failed.txt
else
echo "c3750e-universalk9-mz">> /users/amvarma/success.txt
fi
### END ###
## Notify users on build status ##