5

I am writing a bash script and I am using

ps -e -o %cpu

command.

I would like to have output of sorted %cpu values (descending). How to do that? I know that I should use sort command but I don't know how.

4

2 回答 2

14
 ps -e -o %cpu | sort -nr

n对于数字,r对于反向。如果您还想删除标题:

 ps -e -o %cpu | sed '1d' | sort -nr
于 2013-04-21T08:51:04.893 回答
1

ps 有一个内置选项,可以根据任何选择的字段对其输出进行排序。您可以使用

ps k -%cpu -e -o %cpu

在这里,k根据提供的字段对输出-%cpu进行排序,并按降序对其进行排序。

如果你省略了-排序字段前面的,那么它将按升序排序。另请注意,您可以为其提供多个排序字段:

ps k -%cpu,-%mem -e -o %cpu,%mem

这首先根据%cpu字段对输出进行排序(按降序排列),然后根据%mem字段对输出进行排序。

于 2013-04-21T12:44:05.173 回答