如何使用名字和姓氏查找用户名

时间:2016-05-04 16:28:34

标签: linux unix username

如何使用名字和姓氏查找用户名?

getent passwd <username>

相反的东西

finger将永远消失,并且不会显示完全匹配。即它显示所有具有相同名字或相同姓氏的登录

1 个答案:

答案 0 :(得分:1)

对于像

这样的密码条目
pulse:x:117:124:PulseAudio daemon,,,:/var/run/pulse:/bin/false

您提取第5个: - 分隔字段,提取第一个, - 分隔字段,并检查是否等于第一个名称后跟一个空格,后跟最后一个名。

firstname=PulseAudio
lastname=daemon
getent passwd | awk -F: -vfirst="$firstname" -vlast="$lastname" '{
  split($5,name,",");
  if(name[1]==(first " " last)) {
    print $1;
  }
}'

如果您希望检查不区分大小写,则可以在比较的每一侧添加对tolower()的调用。