检查ping命令的统计/成功传输

时间:2016-09-23 15:49:40

标签: linux

我是shell脚本的新手,因此对linux命令知之甚少。我正在给主机敲了10次。我想知道,如何获得不。数据包成功传输。 E.g

    ping -c 10 12.1.4.1
    PING 12.1.4.1 (12.1.4.1) 56(84) bytes of data.
    64 bytes from 12.1.4.1: icmp_seq=1 ttl=128 time=439 ms
    64 bytes from 12.1.4.1: icmp_seq=2 ttl=128 time=577 ms
    64 bytes from 12.1.4.1: icmp_seq=3 ttl=128 time=435 ms
    64 bytes from 12.1.4.1: icmp_seq=4 ttl=128 time=483 ms
    64 bytes from 12.1.4.1: icmp_seq=5 ttl=128 time=519 ms
    64 bytes from 12.1.4.1: icmp_seq=6 ttl=128 time=487 ms
    64 bytes from 12.1.4.1: icmp_seq=7 ttl=128 time=470 ms
    64 bytes from 12.1.4.1: icmp_seq=8 ttl=128 time=516 ms
    64 bytes from 12.1.4.1: icmp_seq=9 ttl=128 time=467 ms
    64 bytes from 12.1.4.1: icmp_seq=10 ttl=128 time=544 ms

    --- 12.1.4.1 ping statistics ---
    10 packets transmitted, 10 received, 0% packet loss, time 9013ms
    rtt min/avg/max/mdev = 435.527/494.221/577.189/42.922 ms

输出应为10。

我可以将输出重定向到文件,然后使用cut / sed命令获取值" 10"收到的数据包,但是我想在ping命令之后在一行中执行。

1 个答案:

答案 0 :(得分:0)

我们只需要选择包含单词“packets”的第四行:

ping -c 10 12.1.4.1 | egrep packets | cut -d" " -f4