0

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 について聞いたことがありますが、この問題での使用方法がわかりません。誰がそれを使用する方法を教えてもらえますか?

4

3 に答える 3

2

grepこれには十分です。あなたは言うことができます:

iperf -c 10.0.0.1 -i 1 -t 100 | grep -Po '[0-9.]*(?= Mbits/sec)'
于 2013-10-30T07:58:13.257 に答える
0

を使用するawkと、これを行うことができます

iperf -c 10.0.0.1 -i 1 -t 100 | awk '/Mbits\/sec/ {print $8}'
1.05
11.5
31.5
于 2013-10-30T08:27:44.790 に答える
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/ !"前にa を含めて削除することもできます"s/"(ここでは iperf にアクセスできません。申し訳ありません)。

于 2013-10-30T08:13:34.190 に答える