1、查找文件中含有“:1521”,且非注释的连接信息,生成结果文件:1521-war.txt
2、在结果文件中以":"分隔,取第一列,并去重
3、找到结果文件中具有’select 1 from dual’配置的文件
4、循环计算出存在于1中,却不存在于3中的文件,追加到最终的文件中
5、删除生成的临时文件
#!/bin/bash
ip=$(hostname -i)
>/tmp/"$ip"_1521_inconformity.txt
>/tmp/"$ip"_1521_inconformity_2.txt
grep -r -i -v '^#' /app/war/|grep ':1521' >/tmp/1521-war.txt 2>/dev/null
sleep 1
less /tmp/1521-war.txt |awk -F ':' '{print $1}'|sort |uniq >/tmp/1521_all.txt
less /tmp/1521-war.txt |awk -F ':' '{print $1}'|sort |uniq |xargs grep 'select 1 from dual'|awk -F ':' '{print $1}'|sort|uniq >/tmp/1521_dual.txt
cat /tmp/1521_all.txt | while read line1
do
grep $line1 /tmp/1521_dual.txt >/tmp/"$ip"_1521_inconformity_2.txt 2>&1
if [ $? -ne 0 ];then
echo $line1 >> /tmp/"$ip"_1521_inconformity.txt
fi
#echo $?
#cat /tmp/1521_dual.txt | while read line2
#do
# echo $line2+123
#done
done
rm /tmp/1521-war.txt /tmp/1521_all.txt /tmp/"$ip"_1521_inconformity_2.txt /tmp/1521_dual.txt /tmp/check_reconn.sh