如何使用 awk 或 grep 根据条件在列中显示值?

how to display values in a column based on a condition using awk or grep?

我需要获取进程列表及其进程 ID,cpu%,内存百分比具有 cpu% >0

我可以使用

获得输出
ps aux --sort=-pcpu|awk '{print ,,,}'

格式如下

PID %CPU %MEM COMMAND.

输出为您提供基于 cpu% 的排序输出。

我只需要获取 cpu%>0

的行

我是使用 aux、grep 的新手,但我想我想用这些工具可以完成我的要求。

谢谢

awk 确实如您所愿:

ps aux --sort=-pcpu|awk '{if (>0) print ,,,}'

附录:如果您也想要 header:

ps aux --sort=-pcpu|awk '{if (NR==1 || >0) print ,,,}'

NR是built-in变量,包含当前行号(严格来说是记录号)

应该这样做:

ps aux --sort=-pcpu |awk '>0{print ,,,}'

或者只是:

ps aux --sort=-pcpu |awk '{print ,,,}'

从那以后 </code> 需要是 <code>0

以外的东西