我希望计算 Sun Java System Directory Server 5.2 查询返回的对象数(但我不需要实际的对象本身)。
例如,如果我想找到姓氏为 Smith 的所有人,我会想要类似
ldapsearch -LLL -H ldaps://example.com -b "ou=people,dc=example,dc=com" "sn=Smith"
但带有某种计数。如果不返回所有结果,这可能吗?
答案1
将ldapentrycount
选项附加到末尾:
ldapsearch -LLL -H ldaps://example.com -b "ou=people,dc=example,dc=com" "sn=Smith" ldapentrycount
numEntries
或者从结果中解析值:
ldapsearch -LLL -H ldaps://example.com -b "ou=people,dc=example,dc=com" "sn=Smith" ldapentrycount | awk '/numEntries: / { print $3 }'
这就是你要找的东西吗?
答案2
需要注意的是,您可以计算查询返回的对象数,但这可能与匹配的对象数不同,因为返回的对象数可能有限制。您可以添加-z 0
以尝试删除软限制。
我个人会选择类似这样的方法:
ldapsearch -LLL -z 0 -H ldaps://example.com -b "ou=people,dc=example,dc=com" "sn=Smith" dn | grep ^dn: | wc -l