Macos 如何在OSX小牛中使用AWK从顶层l1获取物理内存?
我将此脚本用于mac上的GeekTools,下面的代码用于以前的OSX版本。但是在Mavericks中,它返回下面指定的错误Macos 如何在OSX小牛中使用AWK从顶层l1获取物理内存?,macos,awk,terminal,osx-mavericks,system-status,Macos,Awk,Terminal,Osx Mavericks,System Status,我将此脚本用于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" Phy
$ 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 -l 1 | awk '/PhysMem/ {print $4}' | sed s/M// | sed s/\(//
已用内存:
top -l 1 | awk '/PhysMem/ {print $2}
可用内存:
top -l 1 | awk '/PhysMem/ {print $6}
这达到了我想要的结果
top -l1 |awk '/PhysMem/ {print "X"int((1-(int($6)/((int($6)+int($2)))))*50)"X"}'
出于大家的兴趣和某种背景,我试图将这个CPU geeklet转换为内存geeklet:
非常感谢大家的贡献。删除不必要的括号和
int
top -l1 | awk '/PhysMem/ {print int((1-$6/($2+$6))*50)}'
42
使用:
top-l1 | grep“physem”
并发布您不需要的输出grep
和awk
,使用:top-l1 | awk'/physem/{print“X”int($2+$4)/($8+$10)*50)“X”
(这并不能解决您的问题)我在原始帖子中发布了top-l1 | grep“physem”的输出,Fredrik.$8
和$10
不存在,并给出0
,因此除以0
会产生错误。您希望从输出中计算出什么<代码>$2=6796M
$4=(936M
如您所见,不是干净的数字。