免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 8207 | 回复: 21
打印 上一主题 下一主题

[文本处理] 批量ping并输出结果 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-03-19 13:48 |只看该作者 |倒序浏览
先有数百IP在文本wg_fir_iplists中,我的思路是通过循环读取每行IP数据执行PING操作,每次PING只发送两个包,然后计算PING执行后输出的行数,失败时候有5行,输出"IP  LOSS";PING通时候大于5行,输出"IP PASS";

我写了个,但有点问题,麻烦指正下,主要是把统计行数的输出赋值給变量时候不对,但不知道如何改进,请达人指教!!!
#!/bin/sh
for  ip in `cat wg_fir_iplists`
do
        count = $(ping -c 2  $ip|wc -l);
       if[$count > 5];then
           echo "$ip PASS";
        else
           echo "$ip LOSS";
       fi

done

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
2 [报告]
发表于 2013-03-19 13:54 |只看该作者
把等号两边的空格删掉

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
3 [报告]
发表于 2013-03-19 13:55 |只看该作者
  1. if [ $count -gt 5 ];then
复制代码
这里的空格不能省

论坛徽章:
0
4 [报告]
发表于 2013-03-19 13:59 |只看该作者
回复 2# Shell_HAT


    嗯,删除空格后,输出赋值给变量可行了,但IF语句好像还有问题,多谢,我再试试

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
5 [报告]
发表于 2013-03-19 14:01 |只看该作者
在我这里无论是否ping通都是7行,怎么和你的不一样?
  1. [root@localhost ~]# ping -c 2 192.168.4.1
  2. PING 192.168.4.1 (192.168.4.1) 56(84) bytes of data.
  3. 64 bytes from 192.168.4.1: icmp_seq=1 ttl=64 time=1.21 ms
  4. 64 bytes from 192.168.4.1: icmp_seq=2 ttl=64 time=4.45 ms

  5. --- 192.168.4.1 ping statistics ---
  6. 2 packets transmitted, 2 received, 0% packet loss, time 1006ms
  7. rtt min/avg/max/mdev = 1.216/2.835/4.455/1.620 ms
  8. [root@localhost ~]# ping -c 2 192.168.4.2
  9. PING 192.168.4.2 (192.168.4.2) 56(84) bytes of data.
  10. From 192.168.4.134 icmp_seq=1 Destination Host Unreachable
  11. From 192.168.4.134 icmp_seq=2 Destination Host Unreachable

  12. --- 192.168.4.2 ping statistics ---
  13. 2 packets transmitted, 0 received, +2 errors, 100% packet loss, time 3003ms
  14. pipe 2
  15. [root@localhost ~]# ping -c 2 192.168.4.1 | wc -l
  16. 7
  17. [root@localhost ~]# ping -c 2 192.168.4.2 | wc -l
  18. 7
  19. [root@localhost ~]#
复制代码

论坛徽章:
0
6 [报告]
发表于 2013-03-19 14:01 |只看该作者
本帖最后由 peawseshc 于 2013-03-19 14:03 编辑
  1. #!/bin/bash
  2. for ip in `cat wg_fir_iplists`
  3. do
  4.         if ping -c 2 $ip &> /dev/null;then
  5.            echo "$ip PASS"
  6.         else
  7.            echo "$ip LOSS"
  8.         fi
  9. done
复制代码
又看错意思了{:2_166:}

论坛徽章:
0
7 [报告]
发表于 2013-03-19 14:04 |只看该作者
本帖最后由 huarte 于 2013-03-19 14:20 编辑

回复 5# yestreenstars
  1. PING 10.195.xxx.xxx (10.195.xxx.xxx) 56(84) bytes of data.
  2. 64 bytes from 10.195.xxx.xxx: icmp_seq=0 ttl=252 time=1.29 ms
  3. 64 bytes from 10.195.xxx.xxx: icmp_seq=1 ttl=252 time=1.19 ms

  4. --- 10.195.xxx.xxx ping statistics ---x
  5. 2 packets transmitted, 2 received, 0% packet loss, time 1001ms
  6. rtt min/avg/max/mdev = 1.191/1.243/1.296/0.063 ms, pipe 2
  7. [color=Red]PING 10.238.xxx.xxx (10.238.xxx.xxx) 56(84) bytes of data.

  8. --- 10.238.xxx.xxx ping statistics ---
  9. 2 packets transmitted, 0 received, 100% packet loss, time 999m[/color]s
复制代码
返回代码不同吧

论坛徽章:
0
8 [报告]
发表于 2013-03-19 14:09 |只看该作者
  1. #!/bin/sh
  2. for  ip in `cat wg_fir_iplists`
  3. do
  4.         count=$(ping -c 2  $ip|wc -l);
  5.        if [ $count > 5 ];then
  6.            echo "$ip PASS";
  7.         else
  8.            echo "$ip LOSS";
  9.        fi

  10. done
复制代码
经过广告杀手提醒,目前代码可正常输出了,非常感谢,呵呵!好多细节哦!

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
9 [报告]
发表于 2013-03-19 14:17 |只看该作者
你第一次ping的是10.195.143.126,第二次ping的是10.238.128.156,这两个是在同一个子网内吗?换句话来说就是,你的子网掩码是255.0.0.0吗?

论坛徽章:
0
10 [报告]
发表于 2013-03-19 14:21 |只看该作者
回复 9# yestreenstars


    不是同一子网哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP