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

标签 linux

我是 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/

相关文章:

php - 允许 php rwx 使用 mkdir() 创建的目录

Linux 中的 Clock_nanosleep

linux - mac OS X 和 linux 之间的 rsync 所有权

linux - 无法理解为什么不应该使用/usr/src/linux 进行内核开发

linux - WebStorm 找不到文件,在终端打开 WebStorm

c++ - 在 C++ 中递归执行 Linux 管道命令

linux - GCC 4.8 和 4.7 会在同一台机器上和平共存吗?

linux - 创建任何用户都无法删除的符号链接(symbolic link)

linux - libpcap 网络流量拦截

c++ - Winelib - 控制台应用程序