antes vc tinha executado o egrep com

"(sAMAccountName|displayName)"

agora vc executa com

"(sAMAccountName|name)"

o que o awk faz é, simplesmente, a cada ocorrencia da palavra display
(observou o /display/ { ...}  ? ), pegar o segundo campo delimitado
por ':' (definido na opção -F) e colocar em uma variavel chamada name.

a cada ocorrencia da palavra AMA sera executado outro bloco de código
que imprimirá uma linha contendo a informação que vc quer mais a da
variavel name.

como as linhas são consecutivas, vc usa a variavel name que foi
definida na linha anterior.

faça alguns testes, esta é uma forma de fazer ;-)

On 10/11/06, Luis Fernando C. Talora <[EMAIL PROTECTED]> wrote:
> Caro Tiago,
>
> Não entendo lhufas de awk... Logo, usei o comando ldapsearch (mais
> alguns "greps" para eliminar o lixo) e canalisei a saída para o
> comando que você passou. O resultado foi o seguinte:
>
> # ldapsearch -x -h (...) sAMAccountName name | egrep -e
> "(sAMAccountName|name)" | grep -v "# requesting:" | awk -F:
> '/display/{nome=$2}/AMA/{sub("^ ","",$2);print "meudominio\\"$2" #"nome}'
>
> meudominio\fsilva #
> meudominio\bcunha #
> meudominio\cpereira #
>
> E assim por diante. Errei em algum lugar?
>
> Obrigado mais uma vez!
>
> []´s
>
> Luís Talora
>
>
> --- Em [email protected], "Tiago Barcellos Peczenyj"
> <[EMAIL PROTECTED]> escreveu
> >
> > Pense em awk:
> >
> > awk -F: '/display/{nome=$2}
> > /AMA/{sub("^ ","",$2);print "meudominio\\"$2" #"nome}' arquivo
> >
> > o sub serve pra remover o espaço em branco no começo da string
> > sAMAccountName ;-)
> >
> > On 10/11/06, Luis Fernando C. Talora <[EMAIL PROTECTED]> wrote:
> > > Pessoal,
> > >
> > > Estou usando o "ldapsearch", do "OpenLDAP", para buscar nomes de
> > > usuários de meu controlador de domínio (Windows 2000) e seus
> > > respectivos nomes completos. Estou usando o seguinte comando:
> > >
> > > ldapsearch -x -h <IP do servidor> -w '<senha do ususer>' -D '<usuario
> > > para conexao>' -s one -b '<base_dn>' sAMAccountName displayName
> > >
> > > Após filtrar as linhas que me interessam com "egrep -e
> > > '(sAMAccountName|displayName)'", eu recebo resultado semelhante ao
> abaixo:
> > >
> > >       displayName: Fulano da Silva
> > >       sAMAccountName: fsilva
> > >       displayName: Beltrano da Cunha
> > >       sAMAccountName: bcunha
> > >       displayName: Ciclano Pereira
> > >       sAMAccountName: cpereira
> > >
> > > A intenção é utilizar esses dados para criar um arquivo no formato:
> > >
> > >       meudominio\fsilva # Fulano da Silva
> > >       meudominio\bcunha # Beltrano da Cunha
> > >       meudominio\cpereira # Ciclano Pereira
> > >
> > > Alguém conhece um meio de concatenar cada par de linhas ou alguma
> > > outra coisa que passa ser feita para obter esse resultado?
> > >
> > > Obrigado!
> > >
> > > Luis Talora
> > >
> > >
> > >
> > >
> > >
> > > ---------------------------------------------------------------------
> > > Esta lista não admite a abordagem de outras liguagens de
> programação, como perl, C etc. Quem insistir em não seguir esta regra
> será moderado sem prévio aviso.
> > > ---------------------------------------------------------------------
> > > Sair da lista: [EMAIL PROTECTED]
> > > ---------------------------------------------------------------------
> > > Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> > > ---------------------------------------------------------------------
> > > Servidor Newsgroup da lista: news.gmane.org
> > > Grupo: gmane.org.user-groups.programming.shell.brazil
> > >
> > >
> > > Links do Yahoo! Grupos
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
> >
> > --
> > Tiago B Peczenyj
> > Linux User #405772
> >
> > # cd /pub
> > # more beer
> >
>
>
>
>
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como 
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
> aviso.
> ---------------------------------------------------------------------
> Sair da lista: [EMAIL PROTECTED]
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em 
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
>
>
> Links do Yahoo! Grupos
>
>
>
>


-- 
Tiago B Peczenyj
Linux User #405772

# cd /pub
# more beer


---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
---------------------------------------------------------------------
Sair da lista: [EMAIL PROTECTED]
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil

 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 

Responder a