В настоящее время я работаю в удаленной среде, где я хотел бы отсортировать количество пользователей, использующих наибольшее количество процессов с помощью команды 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, который отсортирован по имени пользователя, затем вы берете первую десятку и только после этого сортируете по количеству. Взгляните на свой пример и обратите внимание, что все имена пользователей начинаются с a-e
ps -eo user = | sort | uniq -c | sort -r $ 1 | head -n 10