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]