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字段对输出进行排序。