我想打印名为managers的组中的用户数。
getent group managers | awk -F: '{print $4}' | awk -F, '{print}'
该行正在打印他们的用户登录信息,但我想要计算。
答案 0 :(得分:1)
尝试:
getent group managers | awk -F: '{n=split($4, a, ","); print n}'
示例:
$ echo user:x:100:jason | awk -F: '{n=split($4, a, ","); print n}'
1
$ echo user:x:100:jason,bob,jim | awk -F: '{n=split($4, a, ","); print n}'
3
-F:
这告诉sed使用:
作为字段分隔符
n=split($4, a, ","
)
这告诉sed在逗号上拆分第四个字段。
print n
这告诉sed打印字段4中找到的逗号分隔元素的数量。
我们可以计算数字并一步打印:
getent group managers | awk -F: '{print split($4, a, ",")}'