如何仅在iperf中显示带宽?

时间:2013-10-30 07:52:40

标签: awk grep

我想知道如何只在iperf中显示带宽值。我使用grep,但它显示整行,如下所示:

iperf -c 10.0.0.1 -i 1 -t 100 | grep -i --color Mbit/sec

结果是

[3] 0.0 - 1.0 sec 128 Kbytes 1.05 Mbits/sec
[3] 1.0 - 2.0 sec 128 Kbytes 11.5 Mbits/sec
[3] 2.0 - 3.0 sec 128 Kbytes 31.5 Mbits/sec

我想要的是

1.05
11.5
31.5

我听说过awk,但我不知道如何使用这个问题。谁能说出如何使用它?

3 个答案:

答案 0 :(得分:2)

grep就足够了。你可以说:

iperf -c 10.0.0.1 -i 1 -t 100 | grep -Po '[0-9.]*(?= Mbits/sec)'

答案 1 :(得分:0)

iperf -c 10.0.0.1 -i 1 -t 100 | grep -i --color Mbit/sec | sed -u -n "s/^.*Kbytes \([0-9.,]\{1,\}\) Mbit.*$/\1/p"

如果这是一个流输入,您应该使用sed -n -u,如果可以删除-u的文件副本

grep也可以删除,包括"/pattern/ !"之前"s/"删除不需要的行(我这里没有访问iperf,抱歉)

答案 2 :(得分:0)

使用awk,您可以执行此操作

iperf -c 10.0.0.1 -i 1 -t 100 | awk '/Mbits\/sec/ {print $8}'
1.05
11.5
31.5