目前我正在远程环境中工作,我想使用 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
答案1
这将起作用:
ps -eo user|sort|uniq -c|sort -gr
sort -gr 是它的关键。
-g :按数字排序。
答案2
问题是你在排序之前就有头了。我认为您正在尝试查找最常用的十个用户名。首先,正如 @rakesh-n 所说,您需要按数字排序。
但问题是你从 uniq 中得到一个按用户名排序的列表,然后你取出前十名,然后才按计数排序。看看你的例子,注意所有的用户名都以 ae 开头
ps -eo 用户=|排序|uniq -c |排序 -r $1 |头 -n 10