как перечислить всех пользователей, у которых хотя бы один запущенный процесс.
The user name should not be duplicated. The user name should be sorted.
$ ps xau | cut -f1 -d " "| sort | uniq | tail -n +2
Возможно, вы захотите отсеять имена, начинающиеся с _, например:
ps xau | cut -f1 -d " "| sort | uniq | grep -v ^_ | tail -n +2
users делает то, что запрашивается.На странице man:
users
man
пользователи перечисляют имена пользователей, находящихся в настоящий момент в системе, в отсортированном порядке, через пробел, в одной строке.
Попробуйте это:
w -h | cut -d' ' -f1 | sort | uniq
w -h отображает всех пользователей в системе без заголовка и некоторого вывода. Часть cut удаляет всю другую информацию без имени пользователя. uniq игнорирует повторяющиеся строки.
w -h
cut
uniq