如何从 bash 脚本中的文件中提取 ping 参数

how to extract ping parameters from a file in bash script

我有一个这样的 ping 文件

PING 172.17.9.1 (172.17.9.1) 1000(1028) bytes of data.
1008 bytes from 172.17.9.1: icmp_seq=1 ttl=64 time=0.943 ms
1008 bytes from 172.17.9.1: icmp_seq=2 ttl=64 time=0.855 ms
1008 bytes from 172.17.9.1: icmp_seq=3 ttl=64 time=0.860 ms
.
.
--- 172.17.9.1 ping statistics ---
100 packets transmitted, 100 received, 0% packet loss, time 9958ms
rtt min/avg/max/mdev = 0.836/1.710/37.591/4.498 ms

我想用 bash 脚本提取数据包丢失、时间、平均 rtt。我应该怎么办?! 谢谢

您可以awk作为

$ awk -F"[,/]" '/packet loss/{print } /rtt/{print " rtt",,}' input
 0% packet loss
 rtt avg 1.710

试试这样的东西:

awk -F',|/' '/time/{x=}/rtt/{print x " " }' ping.txt | sed 's/[^0-9 .]*//g'
Output:
0 958 1.710