Tarde Celso...

Cara, não acho que isso vá melhorar muito, mas pelo menos ta usando menos
saida e comandos:
# if [ $(ldapsearch -LLL -x [EMAIL PROTECTED] dn | wc -l) -le 1 ]; then
echo not found; else echo found; fi
found
# if [ $(ldapsearch -LLL -x [EMAIL PROTECTED] dn | wc -l) -le 1 ]; then
echo not found; else echo found; fi
not found
#

A diferença ali ta no -LLL (nao imprimir bobeiras) e no "dn" no final da
linha, pra so retornar o dn da base, ai trato o numero de linhas q retornou.

Mas eu acho que seria melhor (se for fazer isso so agora) fazer um slapcat e
dar um grep no arquivo do dump..


Sorte,

Flavio do Carmo Junior
#bash-br @ irc.freenode.net




2008/3/27 César Vianna <[EMAIL PROTECTED]>:

>   Pessoal, tenho um arquivo "emails.txt" que possui um email por linha.
> Preciso saber quais desses emails não estão em um LDAP. Fiz o script
> abaixo. Funciona, porém MUITO lento. São uns 10000 registros.
>
> Será que não tem outra implementação mais rápida?
>
> # testa se o email contido em emails.txt está no ldap (atributo sn). A
> linha
> numEntries só é exibida pelo LDAP quando o registro é encontrado.
>
> for i in `cat emails.txt`
> do
> ldapsearch -x sn=$i|if grep numEntries; then echo > /dev/null; else
> echo $i >> nao_existe.txt; fi
> done
>
> Abraços
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]

Responder a