使用fping提取平均时间

时间:2018-09-19 11:50:25

标签: linux bash awk grep ping

我想使用 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

谢谢

2 个答案:

答案 0 :(得分:2)

使用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 ($8?$8:"-1")}' 
0.07
-1
2.57
-1
0.16

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

答案 1 :(得分:0)

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

搜索“ avg”关键字,如果找到则显示倒数第二个字段,否则为-1。