使用Awk将字节转换为网络输出中的KBYTE



试图使用geektool在我的Mac上显示平均kbytes

考虑使用SAR AWK和GREP为此,但SAR输出在字节中,我想要kbytes

sar -n dev 1 1 |grep -i'平均。*en0'(显然会使用更多数据,但1 1很快)

样本输出

Average:   en0            1            68           2           132

sar -n dev 1 1 |grep -i'平均。*en0'|awk'{打印$ 4,$ 6}'

样本输出

68 132

我将如何使用AWK将此字节/PS输出转换为kbytes/ps?

答案:

sar -n DEV 1 1 | grep -i 'average.*en0'| awk '{printf "i: %.2f Kbpsno: %.2f Kbpsn", $4 / 1024, $6 / 1024 }'

这用11行代码代替了Netstat,我认为这是不准确的,并且更多的代码

awk '{printf "%.2f %.2fn", $4 / 1024, $6 / 1024 }'

将用两个小数点打印千字节。

$ line="Average:   en0            1            68           2           132"
$ echo "$line" | awk '{printf "%.2f %.2fn", $4 / 1024, $6 / 1024 }'
0.07 0.13

在我的SAR(SYSSTAT 10.0.5)中,$4txpck/s$6txkB/s。因此,除以1000个resp。1024将提供Ktxpck/stxMiB/s

sar -n DEV 1 1 | awk '/Average.*en0/ {print $4/1000, $6/1024}'

相关内容

  • 没有找到相关文章

最新更新