Bash скрипт среднего значения iperf

Я запускаю iperf несколько раз с помощью следующей команды

iperf -c 1.1.1.1 -t 60 -w 6400 -f m >> iperf.log

иногда с разными аргументами. Результирующий iperf.log может выглядеть так:

[ 3] local 2.2.2.2 port 51129 connected with 1.1.1.1 port 5001 
[ ID] Interval Transfer Bandwidth 
[ 3] 0.0-20.0 sec 1869 MBytes 784 Mbits/sec
[ 3] local 2.2.2.2 port 51130 connected with 1.1.1.1 port 5001 
[ ID] Interval Transfer Bandwidth 
[ 3] 0.0-15.0 sec 1445 MBytes 808 Mbits/sec

то, что я хотел бы сделать, это как только он будет завершен, чтобы получить среднюю скорость передачи, т.е.

 average ....... XXX Mbits/sec

2 ответа

awk это путь, вы можете попробовать что-то вроде этого:

iperf -c 1.1.1.1 -t 60 -w 6400 -f m|awk -F 'MBytes' {'print $2'} >> iperf.log

Тебе просто нужно убрать пустые строки сейчас, когда я уйду к тебе.:)

Вам нужно начать и остановить это? Возможно, вы просто захотите использовать отчеты об интервалах (-i). Вы можете установить для i значение 15 и установить -t для требуемых выборок * 15.

Другие вопросы по тегам