Извлечь среднее время с помощью fping - PullRequest
0 голосов
/ 19 сентября 2018

Я хочу извлечь среднее время, используя 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 голосов
/ 19 сентября 2018
$ ... | awk -F/ '{print (/avg/?$(NF-1):-1)}'

поиск по ключевому слову "avg", если найдено, распечатать предпоследнее поле, иначе -1. ​​

0 голосов
/ 19 сентября 2018

Использование 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

...