linux

时间:2015-08-26 10:46:16

标签: linux shell unix sh uniq

我作为非root用户在linux环境中工作。我正在使用users命令来获取登录用户

users

但它会多次返回用户名,因为使用相同的登录名创建了多个shell。有没有办法使用用户commad打印唯一用户列表。 即使我试过

users | sort -u

仍然会多次返回用户名。

3 个答案:

答案 0 :(得分:2)

试试这个 - who| awk '{print $1}'|sort -u

答案 1 :(得分:2)

users | sort -u
  

仍然会多次返回用户名。

当然。 sort基于行,users仅打印一行。

你想要的是在sort -u输出who之前查看每行的第一个单词:

$ who|cut -f 1 -d " "|sort -u
barney
fred
wilma

$ who|sed 's/ .*//' |sort -u
barney
fred
wilma

但是,如果您对who输出的某些实际线路感兴趣,也可以使用

$ who|sort -u -k 1,1
barney  pts/23       Aug 26 10:11 (:5.0)
fred    pts/3        Jun 11 18:38 (:6.0)
wilma   pts/0        Jul 31 07:29 (:3.0)

答案 2 :(得分:1)

您可以尝试以下命令:who | cut -d' ' -f1 | sort | uniq

您可以使用w命令获取已登录用户列表和详细信息