Desculpe não ter explicado o porque, é que eu testei em outra base interna antes. Mas colocando o " " entre os seis zeros funciono perfeitamente.
Obrigado pela ajuda! PaTricK Andre Luiz de Souza escreveu: > Patrick, acho que houve um desencontro entre seus posts anteriores. No > registro que você enviou, aparece a linha do registro ldap: > > mailQuota: 500M > > só que no comando ldapsearch, você modificou para procurar o campo > "quota" em vez de "mailQuota". Imagino então que o nome correto do campo > seja "quota". > > A função sub dentro do awk é pra substituir o "M" de 500M por seis "0", > então iria substituir 500M para 500000000. > > Pergunto: o valor do campo quota tem a letra "M" no final ? Se não > tiver, tira a função sub e instrua ao awk para concatenar os zeros ao > final do valor. O print do quota ficaria +/- assim: print $0 "000000" > > Referencia: man awk > > > Em 23-04-2008 17:54, patrick escreveu: > >> Resultado do comando foi esse: >> >> petty:/var/www# ldapsearch -x -h localhost >> '(&(objectclass=posixAccount)(quota=*))' quota | awk '/^dn: / {print >> "\n" $0 "\nchangetype: modify";} /^quota:/ {sub( "M", 000000, $2); print >> $1 " " $2 ; }' >> >> dn: uid=sadam,ou=patrick.com.br,o=patrick >> changetype: modify >> quota: 100 >> >> dn: uid=luna,cn=mail,o=patrick >> changetype: modify >> quota: 25 >> >> >> Vou dá uma analisada nele pra ver se consigo resolver... >> >> Valeu pela ajuda! >> >> PaTricK >> >> >> Andre Luiz de Souza escreveu: >> >> >>> Patrick, >>> >>> Exporta seus registros para um arquivo ldif e depois executa com o >>> ldapmodify. >>> Você pode fazer uma consulta assim para gerar o ldif: >>> >>> ldapsearch -x -h ldap '(&(objectclass=posixaccount)(mailQuota=*))' >>> mailQuota | awk '/^dn: / {print "\n" $0 "\nchangetype: modify";} >>> /^mailQuota:/ {sub( "M", 000000, $2); print $1 " " $2 ; }' > quota.ldif >>> >>> depois: >>> >>> ldapmodify -x -h ldap -D'<dn-do-admin>' -W -f quota.ldif >>> >>> Referências: >>> - man ldif >>> - man ldapmodify >>> >>> Em 22-04-2008 10:57, patrick escreveu: >>> >>> >>> >>>> Assim está um usuário do meu LDAP.... meu problema é o postfix reconhe >>>> esse 500M como quota, ele somente reconhece se eu colocar como >>>> "mailQuota: 500000000" , Teria como alterar o resultado do ldap para >>>> ficar o 500M=500000000 ? >>>> >>>> >>>> dn: uid=patrick,dc=patrick.com.br,o=patrick500000000 >>>> objectClass: radiusprofile >>>> objectClass: mailUser >>>> objectClass: posixAccount >>>> uid: patrick >>>> userPassword: senha >>>> uidNumber: 101 >>>> gidNumber: 101 >>>> cn: patrick >>>> radiusProfileDn: cn=normal,ou=radius,o=patrick >>>> mailMessageStore: /var/spool/emails/patrick.com.br/patrick/ >>>> mail: [EMAIL PROTECTED] >>>> homeDirectory: /home/patrick/public_html/patrick/ >>>> mailQuota: 500M >>>> sn: patrick >>>> loginShell: /bin/false >>>> >>>> >>>> >>>> PaTricK >>>> >>>> eria como alterar o resultado do ldap para >>>> ficar o 500M=500000000 ? >>>> >>>> >>>> > ------------------------- > Histórico: http://www.fug.com.br/historico/html/freebsd/ > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd > > ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd