我是 shell 脚本的新手,因此对 linux 命令知之甚少。我正对主机执行 10 次 ping 操作。我想知道,如何获得号码。成功传输的数据包。例如
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 命令后的一行中执行。
最佳答案
我们只需要选择包含单词“packets”的行的第四列:
ping -c 10 12.1.4.1 | egrep packets | cut -d" " -f4
关于linux - 检查ping命令的统计/成功传输,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39664863/