如何从“获取CPU使用率”;top";并将其保存到文件-MAC OS bash
我正在MAC OS中使用终端。我只想从top命令中获取理想的CPU总量(理想CPU),并将其存储到文件中 我试过这个:如何从“获取CPU使用率”;top";并将其保存到文件-MAC OS bash,bash,shell,terminal,Bash,Shell,Terminal,我正在MAC OS中使用终端。我只想从top命令中获取理想的CPU总量(理想CPU),并将其存储到文件中 我试过这个: top | grep-w“CPU使用率:” 我得到了这个: /Test/temp1 » top | grep "CPU usage: " 130 ↵ CPU usage: 5.45% user, 11.77% sys, 82.77% idle CPU usage: 3.20% use
top | grep-w“CPU使用率:”
我得到了这个:
/Test/temp1 » top | grep "CPU usage: " 130 ↵
CPU usage: 5.45% user, 11.77% sys, 82.77% idle
CPU usage: 3.20% user, 3.51% sys, 93.27% idle
CPU usage: 2.64% user, 2.76% sys, 94.59% idle
CPU usage: 3.18% user, 2.61% sys, 94.19% idle
我只想在每行存储最后一个指标,即“82.77%空闲”,但没有“%and idel”字,我只想在文件中存储理想的CPU量。
例:
非常感谢您的帮助,,,您可以使用
grep
和awk
组合来单独获取所需号码。这里使用了--line buffered
标志,它强制grep在每次遇到新行时写入输出
top | grep --line-buffered "CPU usage: " |awk '{ print substr($5, 1, length($5)-1) }'
或者你可以直接使用awk
top | awk '/^CPU usage: / { print substr($5, 1, length($5)-1) }'
您可以通过管道将grep的输出传输到
sed的/*\s\([0-9.]*\)%.*/\1/'
grep
在传输到awk时是不需要的<代码>awk'/CPU使用率:/{print substr($5,1,length($5)-1)}'
top | awk '/^CPU usage: / { print substr($5, 1, length($5)-1) }'