shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Separacao de Logs


From: Marcus Vinicius
Subject: Re: [shell-script] Separacao de Logs
Date: Sat, 9 Jul 2005 21:22:54 -0300 (ART)

Eu nao perdi o script (o mesmo consta em minha
mensagem ), e utilizo ele .

Só queria saber se é possível alguma alteração para o
problema apresentado em meu primeiro e-mail.

Você leu minha mensagem?

Vinicius

--- Fábio Batista <address@hidden>
escreveu:


---------------------------------
Você perdeu o script que tinha solicitado
anteriormente?

Antes de submeter novamente sua dúvida, é melhor
verificar o histórico
das listas que assina.

http://br.groups.yahoo.com/group/sed-br/message/3022

Dia 19 de março, lista sed-br:
> Valeu amigo ajudou bastante, 
> Era isso mesmo que eu precisava

...

-- 
Fábio David Batista
address@hidden
http://nerd-o-matic.blogspot.com

On 7/9/05, Marcus Vinicius <address@hidden>
wrote:
> Boa Noite pessoal,
> 
> Eu tenho o seguinte arquivo de log de e-mail (e mais
> facil colar ele num txt para visualizacao mais
limpa)
> :
> 
> 
> cat log.txt
> 
> 
> @4000000042d049122b346acc status: local 1/50 remote
> 0/100
> @4000000042d049122cc109f4 delivery 272678: success:
> did_0+0+1/
> @4000000042d049122cc39e1c status: local 0/50 remote
> 0/100
> @4000000042d049122cc55b6c end msg 287239
> @4000000042d0491315a413c4 new msg 287126
> @4000000042d0491315a43304 info msg 287126: bytes 966
> from <address@hidden> qp 31504 uid 89
> @4000000042d0491315df3094 starting delivery 272679:
> msg 287126 to local address@hidden
> @4000000042d0491315e389dc status: local 1/50 remote
> 0/100
> @4000000042d049131831e6ac delivery 272679: success:
> did_0+0+1/
> @4000000042d049131834403c status: local 0/50 remote
> 0/100
> @4000000042d04913183643dc end msg 287126
> @4000000042d049172f67b43c new msg 287126
> @4000000042d049172f67cbac info msg 287126: bytes
44605
> from <address@hidden> qp 31722 uid 89
> @4000000042d049172fa8283c starting delivery 272680:
> msg 287126 to local
> address@hidden
> @4000000042d049172fa8765c status: local 1/50 remote
> 0/100
> @4000000042d049172fa97444 starting delivery 272681:
> msg 287126 to local
> address@hidden
> @4000000042d049172fa983e4 status: local 2/50 remote
> 0/100
> @4000000042d049173140ecc4 delivery 272681: failure:
> user_is_over_quota/
> @4000000042d0491731454ddc status: local 1/50 remote
> 0/100
> @4000000042d049173146ff74 delivery 272680: failure:
> user_is_over_quota/
> @4000000042d049173148822c status: local 0/50 remote
> 0/100
> @4000000042d04917328a8b94 bounce msg 287126 qp 31733
> @4000000042d04917328b9d04 end msg 287126
> @4000000042d0491732b554b4 new msg 287256
> @4000000042d0491732b5606c info msg 287256: bytes
45202
> from <> qp 31733 uid 1009
> @4000000042d0491732fef844 starting delivery 272682:
> msg 287256 to local
> address@hidden
> @4000000042d0491732ff1b6c status: local 1/50 remote
> 0/100
> 
> POis bem, percebam a linha que tem o e-mail
> address@hidden, Este e-mail é o que eu tenho
> como parâmetro. Eu preciso separar os logs referente
a
> este e-mail. Mas vcs podem verificar que o servidor
> não separa os logs certinho por envio, e sim deixa
> tudo bagunçado .
> 
> 
> Abaixo eu separei manualmente o log completo refente
a
> este envio ficou assim:
> 
> 
> 
> @4000000042d0491315a413c4 new msg 287126
> @4000000042d0491315a43304 info msg 287126: bytes 966
> from <address@hidden> qp 31504 uid 89
> @4000000042d0491315df3094 starting delivery 272679:
> msg 287126 to local address@hidden
> @4000000042d049131831e6ac delivery 272679: success:
> did_0+0+1/
> @4000000042d04913183643dc end msg 287126
> 
> 
> Isso que eu desejo.
> 
> Vejam que o significado do log para facilitar o
> entendimento:
> 
> logo na primeira linha ele apresenta um id do envio
> new msg 287126
> depois ele relaciona o id com o endereço que eu
tenho
> a 3 linha é importante pois ele relaciona o id
287126
> com um outro id delivery 272679: msg 287126
> e na 5 linha ele através deste segundo id me informa
> se a mensagem foi corretamnete enviada: delivery
> 272679: success
> 
> Então utilizo o seguinte script ( que um amigo da
> lista contribui comigo um tempo atras):
> <<<<<# ./script.sh log.txt address@hidden 
>>>>>
> 
> cat script.sh
> 
> #!/bin/bash
> 
> FILE=$1
> EMAIL=$2
> 
> # busca todas as mensagens com o email especificado
> MSGS=`fgrep "from <$EMAIL>" $FILE`
> 
> # define IFS para \n
> IFS=\
> 
> for LINE in $MSGS
> do
>   MSG_ID=`echo "$LINE" | sed -r 's/.*msg
> ([0-9]+).*/\1/'`
>   DEL_ID=`sed -rn "s/.*delivery ([0-9]+): msg
> $MSG_ID.*/\1/p" "$FILE"`
> 
>   #echo "MSG ID: $MSG_ID"
>   #echo "DEL ID: $DEL_ID"
> 
>   egrep -e "(info msg $MSG_ID: bytes)|(starting
> delivery $DEL_ID: msg
> $MSG_ID)|(delivery $DEL_ID:)" "$FILE"
> done
> 
> 
> Ele funciona quase bem, pois ele só me tras o
> resultado que indiquei acima se o ID 287126 ( que eu
> recebo na variavel "$MSG_ID" ) só existir uma vez no
> arquivo o que não é o caso.
> Ou seja a variavel $MSG_ID se repete varias vezes e
> ele pega varios logs que eu nao quero, como poderia
> fazer para ele pegar apenas os logs que se referem
ao
> e-mail address@hidden ?
> Obs: o ID delivery é unico , não se repete no
arquivo,
> porem o Id mensage repete varias vezes.
> 
> O e-mail é grande mas Se alguem puder me ajudar
> ficaria muito grato.
> 
> Abraços!
>


---------------------------------------------------------------------
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:
address@hidden
---------------------------------------------------------------------
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:
address@hidden
 
   O uso que você faz do Yahoo! Grupos está sujeito
aos Termos do Serviço do Yahoo!.




        
        
                
_______________________________________________________ 
Yahoo! Acesso Grátis - Internet rápida e grátis. 
Instale o discador agora! http://br.acesso.yahoo.com/


reply via email to

[Prev in Thread] Current Thread [Next in Thread]