0

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 は私にとって未知の領域であるため、誰かが簡単な修正を投稿していただけませんか?

4

3 に答える 3

1

不要な括弧を削除してソリューションをクリーンアップし、int

top -l1 | awk '/PhysMem/ {print int((1-$6/($2+$6))*50)}'
42
于 2014-01-16T17:40:40.597 に答える
1

これらを試してください:

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} 
于 2014-01-16T13:59:08.387 に答える