Cristiano, Que bom que vc perdeu um tempinho tentando, é assim que se aprende ;-)
Aproveitando, no sabado passado eu "ministrei" uma palestra sobre AWK + SED no evento Tchelinux de Porto Alegre (cidade aonde moro atualmente, para quem não sabe). Os slides estão aqui, se alguem se interessar (nesse site tem as outras palestras, algumas muito interessantes também): http://www.inf.ufrgs.br/~tpbiazus/37-processando_informacoes_e_texto_com_awk_e_sed.pdf Infelizmente o arquivo original, que levei umas 2 semanas para fazer (com muito amor e carinho), corrompeu misteriosamente um dia antes e tive q fazer esse as pressas. Tanto trabalho e... não apareceu ninguem pra prestigia-la :( Devo melhorar essa apresentação ao longo do tempo, talvez nas minhas férias. On Dec 7, 2007 7:36 PM, Cristiano Ferrari <[EMAIL PROTECTED]> wrote: > > Pessoal, boa noite. > > Agradeci ao Tiago e ao Flávio em PVT antes mesmo de testar as > sugestões, mas a proposta do Tiago tinha uma divergência em relação ao > que preciso, um detalhe que não compromete a lógica da solução. > > O comando que ele passou acima, acrescenta o nome do usuário ao > penúltimo campo da lista. Deste modo, o log ficaria errado, pois a > identificação do usuário é 8.º camnpo (o hífen entre o "/maps?" e o > "NONE/-"). Então o que preciso é substituir este 8.º campo pelo nome > do usuário. > > Mesmo sem conhecer bulhufas de awk consegui entender (com a ajuda de > alguns tutos e o man page) que é o $(NF-1)=$(NF-1) m[$3] quem faz > isso. Então, fiz corrigi para: > > awk 'FILENAME == "usertab" { m[$1]=$2 } FILENAME == "access.log" { > $(NF-2)="" m[$3] ; print }' usertab access.log > > Deu perfeitamente certo e o problema foi resolvido. > > Respondo apenas para que fique registrada a solução correta, pois a > listá é aberta e pode ajudar algum outro newbie como eu no futuro. > > Quando vi o texto do comando não entendi nada. Passei a última hora e > meia quebrando o coco para compreender a lógica e mesmo depois de > corrigí-lo, nem tudo estava claro para mim (os vetores me > confundiram). Confesso que cheguei a começar um e-mail para a lista > pedindo para que alguém explicasse em detalhes, mas ao escrevê-lo > consegui entender totalmente a lógica e este post, bem como o do > Flávio, me ajudarão muito no aprendizado do awk + sed, que tanto me > apavorava. > > Desculpem-me o excesso por uma coisa tão simples. Concordo que > respostas de agradecimento não são bem vindas na lista e espero não > ser mal recebido, mas além de dar o feedback sobre o ajuste na > sugestão do Tiago, quis compartilhar minha satisfação. > > Boa noite e bom fim de semana a todos. > > Cristiano Ferrari -- Tiago B Peczenyj Linux User #405772 http://peczenyj.blogspot.com/ "what does not kill us makes us stronger"