0

我有一个运行 iperf 并输出平均带宽即 3.80 Mbits/sec 的 bash 脚本。我想做的是将此输出作为连接速度的平均值。

因此,如果我有 10Mbit 连接,我想知道 3.80 Mbits/sec 是多少,所以输出类似

3.80 Mbits/sec 38%

我不知道该怎么做。

我的脚本可以

iperf -c 1.1.1.1 >> /tmp/iperf.log
echo -e " \t $(awk '/Bandwidth/ {getline}; END{print $7, $8}' $iperflog"

返回

 3.80 Mbits/sec

我希望它回来

 3.80 Mbits/sec 38%
4

1 回答 1

3

这里有一个例子awk

user@host:~# echo "3.80 Mbits/sec" | awk '{printf "%s %s%%\n", $0, $1/(10.0/100)}'
3.80 Mbits/sec 38%

要应用于您的脚本,只需awk在您的命令后添加部分:

echo -e " \t $(awk '/Bandwidth/ {getline}; END{print $7, $8}' /tmp/iperf.log" | awk '{printf "%s %s%%\n", $0, $1/(10.0/100)}'
于 2013-12-10T13:53:59.833 回答