2013-10-30 48 views
0

我想知道如何僅顯示iperf中的帶寬值。我使用grep,但它顯示了整個行是這樣的:如何僅在iperf中顯示帶寬?

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,但我不知道如何在這個問題上使用。任何人都可以告訴如何使用它?

回答

2

grep就足夠了。你可以說:

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

謝謝你運作良好 – user2290560

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可以同時刪除包括"s/""/pattern/ !"刪除不需要的行(我沒有查看在這裏的iperf,抱歉)

+0

謝謝你的建議 – user2290560

0

使用awk,你可以做到這一點

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

謝謝你的建議。這也很好 – user2290560