【发布时间】:2014-01-16 13:08:07
【问题描述】:
我在 mac 上为 GeekTools 使用这个脚本,下面的代码在以前的 OSX 版本上工作。但是在 Mavericks 中,它会返回下面指定的错误。
$ top -l1 | grep "PhysMem"|awk '{print "X"int(($2+$4)/($8+$10)*50)"X"}'
awk: division by zero
input record number 1, file
source line number 1
awk 之前的输出:
$ top -l1 | grep "PhysMem"
PhysMem: 6796M used (936M wired), 1282M unused.
由于 awk 对我来说是一个未知领域,有人可以为此发布一个快速修复吗?
【问题讨论】:
-
执行
top -l1 | grep "PhysMem"并发布输出 -
你不需要
grep和awk,使用:top -l1 | awk '/PhysMem/ {print "X"int(($2+$4)/($8+$10)*50)"X"}'(不能解决你的问题) -
我在原帖 Fredrik 中发布了
top -l1 | grep "PhysMem"的输出。 -
$8和$10不存在并给出0,因此在0上划分会出错。你想从你的输出中计算出什么?$2=6796M$4=(936M如你所见,不是干净的数字。
标签: macos awk terminal osx-mavericks system-status