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

如何使用awk或grep根据条件在列中显示值?,awk,grep,ps,Awk,Grep,Ps,我需要获取进程id为cpu%的进程列表,该进程的内存百分比为cpu%>0 我能够使用 ps aux --sort=-pcpu|awk '{print $2,$3,$4,$11}' 按以下格式 PID %CPU %MEM COMMAND. 该输出提供基于cpu%的排序输出 我只需要获取cpu%>0的行 我是一个使用aux,grep的新手,但我想我所做的可以用这些工具来完成 谢谢awk确实做了你想做的事: ps aux --sort=-pcpu|awk '{if ($3>0) print

我需要获取进程id为cpu%的进程列表,该进程的内存百分比为cpu%>0

我能够使用

ps aux --sort=-pcpu|awk '{print $2,$3,$4,$11}'
按以下格式

PID %CPU %MEM COMMAND.
该输出提供基于cpu%的排序输出

我只需要获取cpu%>0的行

我是一个使用aux,grep的新手,但我想我所做的可以用这些工具来完成


谢谢

awk
确实做了你想做的事:

ps aux --sort=-pcpu|awk '{if ($3>0) print $2,$3,$4,$11}'
附录:如果您还想要标题:

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

NR
是包含当前行号(严格地说,是记录号)的内置变量。

awk
确实做了您希望做的事情:

ps aux --sort=-pcpu|awk '{if ($3>0) print $2,$3,$4,$11}'
附录:如果您还想要标题:

ps aux --sort=-pcpu|awk '{if (NR==1 || $3>0) print $2,$3,$4,$11}'
NR
是包含当前行号(严格来说是记录号)的内置变量。

这应该是:

ps aux --sort=-pcpu |awk '$3>0{print $2,$3,$4,$11}'
或者只是:

ps aux --sort=-pcpu |awk '$3{print $2,$3,$4,$11}'
从那时起,
$3
需要不是
0

这应该可以:

ps aux --sort=-pcpu |awk '$3>0{print $2,$3,$4,$11}'
或者只是:

ps aux --sort=-pcpu |awk '$3{print $2,$3,$4,$11}'
从那时起,
$3
需要是
0