shell脚本实现从的一堆域名中找出哪些域名还存在解析记录
记录生成需求:从IDC机房提供的一堆域名中找出哪些域名还存在解析记录

先排序去除重复的域名:

cat 2.txt |sort -rn|uniq -c|awk '{print $2}' >test

执行脚本sh 2.sh m 或者是sh 2.sh e 或者sh 2.sh 未知 对应生成文件 m.log e.log wujilu.log


[root@intf-06 ~]# cat 2.sh 
#!/bin/sh
list=$(cat /root/test)

for n in $list
do echo $n|tee -a 1.log&&  ping -c1 -i 0.1 $n -q 2>&1 |tee -a 1.log
done

  if [ $1 == "m" ];then
sed  -e '/Done/{d}' -e '/\[1\]/{d}'  1.log|grep -B 1 'PING'|grep "^$1" >m.log
echo "" >1.log
  elif [ $1 == "e" ];then
sed  -e '/Done/{d}' -e '/\[1\]/{d}'  1.log|grep -B 1 'PING'|grep "^$1" >e.log
echo "" >1.log
  elif [ $1 == "未知" ];then
sed  -e '/Done/{d}' -e '/\[1\]/{d}'  1.log|grep "$1"|awk -F '[ :]+' '{print $2}' >wujilu.log
echo "" >1.log
fi

获取的结果如下:

以m开头的存在解析记录的二级域名
[root@intf-06 ~]# cat m.log 
m.qxwfc.cn
m.qldua.cn
m.wstzk.cn
m.gsnon.cn
m.fzhxzm.cn
m.ew740.cn

以e开头的存在解析记录的二级域名
[root@intf-06 ~]# cat e.log 
e.gsnon.cn
e.fzhxzm.cn
e.ew740.cn
不存在解析记录的二级域名
[root@intf-06 ~]# cat wujilu.log 
m.0v43q.cn
e.x51se.cn