文件 "test" 的内容:
[]# 0-CPU4 8.9%, 9336/832, 0x5ffe9b88--0x5ffec000
[]# 0-CPU0 13.5%, aa: 4/3, xvl: 35
[]# 0-CPU1 8.6%, SM: 1/4, ovl: 60
[]# 0-CPU0 38.8%, SM: 1/4, ovl: 62
从这个文件中,我想要最后一个CPU0的百分比,即
38
(忽略小数点)。我使用下面的shell命令,它能正常工作,但想知道是否有更好的方法。
grep CPU0 test | tail -1 | awk '/0-CPU0/ {print $3}' | sed 's/\..*//'
#above command prints "38"
cat test | grep CPU0
命令。你有输出吗?如果有,追加| tail -1
。到目前为止一切正常吗?如果是,请追加awk '{print $3}'
。你看到了 38.8% 吗? - zedfoxusawk '{print $3}'
可以工作,但awk '{ printf("%d", $3) }'
不起作用。 - rodeeawk -V
和uname -a
的输出是什么?另外,您能否检查一下输出是否出现在命令提示符之前? - zedfoxus