使用 fping 提取平均时间

Extract average time using fping

我想使用 fping 提取平均时间。

fping -q -b 12 -c 3 localhost 192.168.0.20 192.168.0.1 192.168.0.18 192.168.0.22

localhost    : xmt/rcv/%loss = 3/3/0%, min/avg/max = 
0.06/0.07/0.09
192.168.0.20 : xmt/rcv/%loss = 3/0/100%
192.168.0.1  : xmt/rcv/%loss = 3/3/0%, min/avg/max = 2.00/2.57/3.11
192.168.0.18 : xmt/rcv/%loss = 3/0/100%
192.168.0.22 : xmt/rcv/%loss = 3/3/0%, min/avg/max = 0.12/0.16/0.19

例如,每个设备的平均输出(如果设备无法访问,则为 -1)。

0.07
-1
2.57
-1
0.16

谢谢

使用 awk:

fping -b 12 -c 3 localhost 192.168.0.20 192.168.0.1 192.168.0.18 192.168.0.22 |
  awk -F'/' '{print (?:"-1")}' 
0.07
-1
2.57
-1
0.16

给定 / 作为字段分隔符,打印第 8 个字段(如果存在)否则打印字符串 -1

$ ... | awk -F/ '{print (/avg/?$(NF-1):-1)}'

搜索"avg"关键字,如果找到则打印倒数第二个字段,否则-1。