Como obtenho uma contagem do lado do servidor em uma consulta LDAP do Sun Java System Directory Server?

1

Desejo contar o número de objetos retornados de uma consulta (mas não preciso dos objetos propriamente ditos) do Sun Java System Directory Server 5.2.

Por exemplo, se eu quiser encontrar todas as pessoas com o sobrenome Smith, eu quero algo como

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

mas com algum tipo de contagem. Isso é possível sem retornar todos os resultados?

    
por cubetwo1729 05.03.2012 / 16:07

2 respostas

4

Adicione a opção ldapentrycount ao final:

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

ou analise o valor numEntries dos resultados:

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

É isso que você está procurando?

    
por 23.08.2012 / 13:33
0

Uma palavra de cautela - você pode contar o número de objetos retornados da consulta, mas isso pode não ser o mesmo que o número de objetos correspondidos, pois pode haver limites no número de objetos retornados. Você pode adicionar -z 0 para tentar remover um limite flexível.

Eu pessoalmente vou com algo como:

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

Tags