我正在编写一个Shell脚本来获取已登录用户的列表,我想显示一个像这样的列表:
The user AAA is on tty3
The user BBB is on pts/0
这是我到目前为止所写的内容:
echo "The user " | who | awk -F ' ' '{print $1}' | echo " is on " | who | awk -F ' ' '{print $2}'
但是只显示第二列,我明白了:
tty3
pts/0
答案 0 :(得分:5)
尝试在单个awk
语句中执行此操作:
who | awk '{print "The user " $1 " is on " $2}'
通过这么多管道,你将第一个输入发送为另一个输出。因此,您丢失了之前的数据,最后只有who | awk '{print $2}'
的输出即将发布。
答案 1 :(得分:0)
最后用户
last | cut -d " " -f 1 | sort | uniq
上次用户详细
last | uniq | column
谁登录(仅限用户名)
who | cut -d' ' -f1 | sort | uniq
简短列
who -su | sort | uniq | column