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.
ps -e -o %cpu | sort -nr
n
对于数字,r
对于反向。如果您还想删除标题:
ps -e -o %cpu | sed '1d' | sort -nr
ps 有一个内置选项,可以根据任何选择的字段对其输出进行排序。您可以使用
ps k -%cpu -e -o %cpu
在这里,k
根据提供的字段对输出-%cpu
进行排序,并按降序对其进行排序。
如果你省略了-
排序字段前面的,那么它将按升序排序。另请注意,您可以为其提供多个排序字段:
ps k -%cpu,-%mem -e -o %cpu,%mem
这首先根据%cpu
字段对输出进行排序(按降序排列),然后根据%mem
字段对输出进行排序。