有文件/ etc / group。格式为“组名:密码:标识符:用空格分隔的用户列表”。如何打印用户数最多的组的NAME?谢谢。
getent group | awk -F '[,:]' '{ print $1, NF - 3 }' | sort -k2,2n
这将输出一个组名列表,后跟组成员数,并按组成员数排序。我假设问题的文本是错误的,并且组成员的列表以逗号分隔。
解析结果以挑选出组成员最多的人很容易。
getent group
将以与文件相同的格式获取当前组列表/etc/group
。如果正在使用目录服务,该命令还将查询诸如NIS / YP或LDAP之类的目录服务。
该awk
代码将根据逗号或冒号将各行划分为多个字段,并打印第一个字段(组名),然后显示字段总数减去三(减去三表示不计算组名,密码和GID字段) )。
最终sort
将仅基于第二列(即组成员的数量)进行数字排序。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句