如何从Sun Java System Directory Server获取LDAP查询的服务器端计数?

我希望从Sun Java System Directory Server 5.2中统计查询返回的对象的数量(但我不需要实际的对象本身)。

例如,如果我想find所有的姓史密斯的人,我会想要的东西

ldapsearch -LLL -H ldaps://example.com -b "ou=people,dc=example,dc=com" "sn=Smith" 

但有一些点数。 这可能没有返回所有的结果?

ldapentrycount选项追加到最后:

ldapsearch -LLL -H ldaps://example.com -b "ou=people,dc=example,dc=com" "sn=Smith" ldapentrycount

或从结果中parsingnumEntries值:

ldapsearch -LLL -H ldaps://example.com -b "ou=people,dc=example,dc=com" "sn=Smith" ldapentrycount | awk '/numEntries: / { print $3 }'

这是你在找什么?

谨慎的一句话 – 你可以计算从查询中返回的对象的数量,但是可能与匹配的对象的数量不一样,因为返回的对象的数量可能有限制。 您可以添加-z 0来尝试删除软限制。

我个人会喜欢:

 ldapsearch -LLL -z 0 -H ldaps://example.com -b "ou=people,dc=example,dc=com" "sn=Smith" dn | grep ^dn: | wc -l