Chinaunix首页 | 论坛 | 博客
  • 博客访问: 328260
  • 博文数量: 32
  • 博客积分: 822
  • 博客等级: 准尉
  • 技术积分: 388
  • 用 户 组: 普通用户
  • 注册时间: 2011-05-27 13:55
文章分类

全部博文(32)

文章存档

2019年(2)

2017年(4)

2016年(9)

2015年(1)

2014年(1)

2012年(2)

2011年(13)

我的朋友

分类: Python/Ruby

2012-06-13 16:55:03


点击(此处)折叠或打开

  1. #!/bin/sh
  2. file=/etc/list
  3. eno=0;
  4. rno=0;
  5. sum=0;
  6. if [ "$2" == "" ];then
  7.     num=100
  8. else
  9.     num=$2
  10. fi
  11. while read line
  12. do
  13.     if [ "$num" -eq "$sum" ];then
  14.         break
  15.     fi
  16. #   sum=$(expr $sum + 1)
  17.     ip[$sum]=`echo $line | sed -n 's/^.*(\(.[0-9\.]*\)).*$/\1/p'`
  18.     addr[$sum]=`echo $line | sed -n 's/^\(.*\)(.*/\1/p'`
  19.     result[$sum]=`nslookup $1 ${ip[$sum]} | grep Address | sed -n '2,$p' | cut -d: -f2`
  20.     sum=$(expr $sum + 1)
  21.     #echo ${ip[$sum]}
  22.     #echo ${result[$sum]}
  23.     echo -n "."
  24. done < $file
  25. echo
  26. for line in `seq 1 $sum`
  27. do
  28.     t=$(expr $line - 1)
  29.     if [ "${result[$line]}" = "" ];then
  30. #      result=" Error!!"
  31.        echo -n " "$line"=>"
  32.        echo -en "\033[32m ${addr[$t]} \033[0m:"
  33.        echo -e "\033[37m "Error"($1) \033[0m"
  34.        eno=$( expr $eno + 1 )
  35.     else
  36.        echo -n " "$line"=>"
  37.        echo -en "\033[32m ${addr[$t]} \033[0m:"
  38.        echo -e "\033[31m ${result[$t]}($1) \033[0m"
  39.        rno=$( expr $rno + 1 )
  40.     fi
  41. done
  42. echo "========================================"
  43. echo -n "eno="$eno";rno="$rno";"
  44. echo -n "Error=" `echo $eno $sum | awk '{print $1 / $2 * 100 "%;";}'`
  45. echo "Success=" `echo $rno $sum | awk '{print $1 / $2 * 100 "%;";}'`
  46. echo "========================================"
  47. #file文件内容格式如下:
  48. 广西南宁市铁通(222.52.118.162)
    广西南宁市铁通(222.52.118.163)
    河南省电信(222.85.85.85)
    河南省洛阳市电信(222.88.88.88)
    云南省电信(222.172.200.68)
    湖南省电信(222.243.129.81)
其中红色这句执行很非常的慢,循环起来非常耗时,想有什么好的方法来解决这个问题,但又不影响功能,如果你看到了,还请指教。
阅读(3873) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

canigreen2012-06-27 09:00:05

initrdimg: 小弟。愚笨。还真没有看出来。是多线程.....
标题有点儿误会,修改了,旨在请教

initrdimg2012-06-19 10:45:32

小弟。愚笨。还真没有看出来。是多线程