Awk 如何仅在iperf中显示带宽?

Awk 如何仅在iperf中显示带宽?,awk,grep,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.

我想知道如何在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,但我不知道如何在这个问题上使用。谁能告诉我如何使用它吗?

grep
就足够了。你可以说:

iperf -c 10.0.0.1 -i 1 -t 100 | grep -Po '[0-9.]*(?= Mbits/sec)'
如果这是流输入,则应使用
sed-n-u
,如果文件副本可以删除
-u


也可以删除grep,包括在
“s/”
之前添加一个
“/pattern/!”
,以删除不需要的行(对不起,我没有访问iperf的权限)

使用
awk
,您可以这样做

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

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