我正在使用Linux,我正在尝试显示和统计系统上的用户。我目前正在使用谁-q,它给了我一个计数和用户,但我试图不用一次多列出一个人。与此同时,我希望用户的输出在单独的行上或者比当前更好。
答案 0 :(得分:2)
以下内容将显示登录的唯一身份用户数,忽略每个用户单独登录的次数:
who | awk '{ print $1; }' | sort -u | awk '{print $1; u++} END{ print "users: " u}'
如果who | awk '{ print $1 }'
的输出为:
joe
bunty
will
sally
will
bunty
然后单行将输出:
bunty
joe
sally
will
users: 4
之前的答案涉及uniq
(但是这个命令只会删除重复项,如果它们被中断,谁不保证,因此我们使用sort -u
来实现相同的目标。
最后的awk命令输出结果,同时计算唯一用户的数量,并在结束时输出此值。
答案 1 :(得分:1)
我想你想要
who | awk '{print $1}' | uniq && who -q | grep "\# " | cut -d' ' -f2