0

尝试使用 geektool 在我的 Mac 上显示平均千字节进出

考虑为此使用 sar awk 和 grep 但 sar 以字节为单位输出,我想要千字节

sar -n 开发 1 1 | grep -i 'average.*en0' (显然会使用更多数据,但 1 1 很快)

样本输出

Average:   en0            1            68           2           132

sar -n 开发 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 Kbps\no: %.2f Kbps\n", $4 / 1024, $6 / 1024 }'

这用 11 行代码替换了 netstat,我认为这不太准确,而且代码更多

4

2 回答 2

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

将打印带两位小数的千字节。

$ line="Average:   en0            1            68           2           132"
$ echo "$line" | awk '{printf "%.2f %.2f\n", $4 / 1024, $6 / 1024 }'
0.07 0.13
于 2014-02-04T21:38:12.000 回答
0

在我的 sar(sysstat 10.0.5)中,$4istxpck/s$6is txkB/s。因此,分别除以 1000。1024 会给出Ktxpck/stxMiB/s

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

于 2014-02-04T21:43:58.910 回答