请帮我创建一个 bash 脚本来显示已注销的用户。
知道哪些用户登录了电脑很容易,问题在于查看哪些用户没有登录,我花了一些时间在线查找,但没有结果。
答案1
使用comm
、awk
和users
/etc/passwd
comm -23 <(awk -F: '/\/home/ && ($3 >= 1000) {print $1}' /etc/passwd | sort ) <(users | tr ' ' '\n' | sort | uniq)
分解
% awk -F: '/\/home/ && ($3 >= 1000) {print $1}' /etc/passwd
user1
user2
% users | tr ' ' '\n' | sort | uniq
user1
% comm -23 <(awk -F: '/\/home/ && ($3 >= 1000) {print $1}' /etc/passwd | sort ) <(users | tr ' ' '\n' | sort | uniq)
user2