bash脚本平均值为两个值

时间:2013-12-10 12:59:52

标签: bash scripting iperf

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

因此,如果我有一个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%

1 个答案:

答案 0 :(得分: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)}'