Salve!
Ainda não entendi exatamente o que vc está fazendo, mas dei uma
modificada no seu script. Veja e me diga se atende.
Apesar de ser fã do awk, procurei utilizar bash puro + grep, por
entender que o awk não se aplica a este caso.
Caso alguma coisa não fique clara, e depois de consultar o 'man bash',
poste que esclarecerei.
while read ; do
linha=($REPLY) #Convertendo linha em array
codigo01=${linha[5]}
[EMAIL PROTECTED]
codigo01=${codigo01%%:}
codigo02=${codigo02%%)}
if [ "$codigo01" != "command" -a "$codigo02" != "command" ]; then
echo "INICIOBR" >> resultado01.txt
egrep "($codigo01|$codigo02)" log_teste02.txt |
grep -m1 "postfix/qmgr\[" >> resultado01.txt
egrep "($codigo01|$codigo02)" log_teste02.txt |
grep -m1 "postfix/smtp\[" >> resultado01.txt
fi
done < log_teste.txt
Fabiano Caixeta Duarte
Consultor em soluções para Redes de Computadores
Ribeirão Preto - SP
Rodrigo Monteiro escreveu:
> Fala Fabiano.
>
>
> On 12/13/05, Fabiano Caixeta Duarte <[EMAIL PROTECTED]> wrote:
>
>>Salve!
>>
>>Mande um trecho dos arquivos de entrada e descreva o objetivo da saída
>>para entendermos melhor e podermos ajudar.
>
>
> #log_teste.txt
> Oct 5 00:00:07 spam postfix/lmtp[7650]: DB5C55A0EF9:
> to=<[EMAIL PROTECTED]>, relay=127.0.0.1[127.0.0.1], delay=4, status=sent
> (250 2.6.0 Ok, id=07647-01-71, from MTA: 250 Ok: queued as
> 954FD5A0EFB)
> Oct 5 00:00:24 spam postfix/lmtp[7698]: 1B34E5A0EF9:
> to=<[EMAIL PROTECTED]>, relay=127.0.0.1[127.0.0.1], delay=2, status=sent
> (250 2.6.0 Ok, id=07649-01-39, from MTA: 250 Ok: queued as
> 1F1C05A0EFA)
>
>
> #log_teste02.txt
> Oct 5 00:00:07 spam postfix/qmgr[19500]: 954FD5A0EFB:
> from=<[EMAIL PROTECTED]>, size=1030609, nrcpt=1 (queue active)
> Oct 5 00:00:07 spam amavis[7647]: (07647-01-71) Passed,
> <[EMAIL PROTECTED]> -> <[EMAIL PROTECTED]>, Message-ID:
> <[EMAIL PROTECTED]>, Hits: -
> Oct 5 00:00:07 spam postfix/lmtp[7650]: DB5C55A0EF9:
> to=<[EMAIL PROTECTED]>, relay=127.0.0.1[127.0.0.1], delay=4, status=sent
> (250 2.6.0 Ok, id=07647-01-71, from MTA: 250 Ok: queued as
> 954FD5A0EFB)
> Oct 5 00:00:09 spam postfix/smtp[6653]: C447C5A0F02:
> to=<[EMAIL PROTECTED]>, relay=IP[IP], delay=15, status=sent (250 Message
> accepted for delivery)
>
>
> while read linha ; do
> codigo02=`echo "$linha" | awk '{print $NF}' | cut -d')' -f1`
> codigo01=`echo "$linha" | awk '{print $6}' | cut -d':' -f1`
> if [ "$codigo01" != "command" -a "$codigo02" != "command" ] ; then
> echo "INICIOBR" >> resultado01.txt
> grep '\('"$codigo01"'\|'"$codigo02"'\)' log_teste02.txt | grep
> -m1 'postfix\/qmgr\[' >> resultado01.txt
> grep '\('"$codigo01"'\|'"$codigo02"'\)' log_teste02.txt | grep
> -m1 'postfix\/smtp\[' >> resultado01.txt
> fi
> done < log_teste.txt
>
> Cada linha do log_teste.txt tem dois códigos: o $codigo01 e $codigo02
> O que eu quero é percorrer todas as linhas do log_teste.txt e fazer um
> outro arquivo com somente a primeira ocorrência da linha desses
> códigos da linha 'postfix\/qmgr\[' e 'postfix\/smtp\['
> Consegui explicar alguma coisa? :P
> Mas acho que com o código que mandei da pra entender agora...
>
> []s
>
>
>
>
>
>>Fabiano Caixeta Duarte
>>Consultor em soluções para Redes de Computadores
>>Ribeirão Preto - SP
>>
>>
>>Rodrigo Monteiro escreveu:
>>
>>>Essa parte do script está demorando bastante (algumas horas) para ser
>>>executada.
>>>Alguém tem uma sugestão de como deixar mais leve (rápida) a sua execução?
>>>Segue a parte em questão...
>>>
>
>
> --
> Rodrigo Monteiro
> "Free as in Freedom, not free as in free beer"
> Linux User # 403730
> JID: [EMAIL PROTECTED]
> [EMAIL PROTECTED]
>
>
> ---------------------------------------------------------------------
> 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
> ---------------------------------------------------------------------
>
> Links do Yahoo! Grupos
>
>
>
>
>
>
>
>
>
---------------------------------------------------------------------
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
---------------------------------------------------------------------
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