Text-Processing

當我嘗試根據正在執行的程序數對使用者進行排序時,為什麼根程序不會排序?

  • March 4, 2017

目前我在一個遠端環境中工作,我想使用 ps 命令對使用最多程序的使用者數進行排序。唯一的問題是;使用我目前的命令;不顯示應該顯示的root使用者。第一個輸出是我正在尋找的,後者是我​​目前收到的。

157 root
12 apache
11 brun1992
 4 bb
 2 postfix
 2 hart4492
 2 68
 1 USER
 1 sshd
 1 rpcuser

我的命令:

ps -eo user=|sort|uniq -c | head -n 10 | sort -r $1
        9 apache
        6 au6620
        5 ande7941
        4 cwen4344
        4 bb
        3 dagg9715
        2 evan8561
        2 brun1992
        2 alki2221
        1 dbus

這將起作用:

ps -eo user|sort|uniq -c|sort -gr

sort -gr 是它的關鍵。

> > -g :按數字排序。 > > >

問題是你在排序之前有頭腦。我認為您正在嘗試查找前十名使用的使用者名。首先,正如@rakesh-n 所說,您需要按數字排序。

但問題是你從 uniq 中得到一個按使用者名排序的列表,然後你獲得前十名,然後才按計數排序。看看你的例子,注意所有的使用者名都以 ae 開頭

ps -eo 使用者=|排序|uniq -c | 排序-r $1 | 頭 -n 10

引用自:https://unix.stackexchange.com/questions/348033