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

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

Re: [shell-script] Separar arquivos em blocos


From: Bruno Gunter Fricke
Subject: Re: [shell-script] Separar arquivos em blocos
Date: Tue, 08 May 2007 10:33:20 -0300


 for exemplo in `zegrep -i -h "email2" ~/log | grep -v 'email1' | 
awk '{print $2}' 
                do
                        echo "$i"\n;
                        i=`expr "$i" + 1`;
                        zgrep -h $exemplo ~/log | egrep '(from=<|to=<)'
| sed -e 's/ *.servidor.*
]://g' -e 's/ (queue.*)//g' -e 's/, status=\w*//g';
                done;



Em Ter, 2007-05-08 às 10:03 -0300, Edilson Azevedo escreveu:
> Bom dia pessoal!
> 
> A algum tempo mandei um email para vcs para me auxiliar a retirar
> alguns dados de um arquivo. Lembrando, a sintaxe do arquivo é essa
> aqui:
> 
> Date: Mon, 7 May 2007 10:05:37 -0300 (BRT)
> Subject: Fwd: Envio de relatorio
> From: "Javali cafona" <address@hidden>
> To: address@hidden
> 
> Como podem ver é o cabecalho de uma mensagem de email. Para separar o
> "From" numa variável, por exemplo, eu uso:
> FROM=`cat $ARQ| grep '^From' | cut -f2 -d'<' |sed -e s/"From: "// |tr
> -d
> '>'| sed 's/^[ \t]*//;s/[ \t]*$//'`(assim eu pego só o endereço de
> email
> do sujeito)
> 
> Aprendí muito com vcs e tudo está joia! Porém (sempre tem um porém...
> rsrs), Eu me deparei com uma dúvida. Sei separar por linhas, sei
> limpar
> a linha e sei salvar em banco. Mais como faço para saber se a
> informação
> que tenho é realmente de email1 ou email2?
> 
> Não sei se estou sabendo me expressar, mais minha dúvida é a seguinte:
> É
> possivel fazer com que o shell-script separe um arquivo por blocos??
> Dessa forma eu faria assim (desculpe a ignorância, mais tentarei dar
> um
> exemplo):
> 
> Email 1
> >From maillog
> Date: Mon, 10 May 2007 11:02:01 -0300 (BRT)
> Subject:
> From: "Javali cafona" <address@hidden>
> To: address@hidden
> X-Mailer: XP
> 
> Email 2
> >From maillog
> Date: Mon, 7 May 2007 10:05:37 -0300 (BRT)
> Subject: Fwd: Envio de relatorio
> From: "Javali cafona" <address@hidden>
> To: address@hidden
> Cco: address@hidden
> X-Mailer: XP
> 
> Eu quero que o shell leia o arquivo, quando ele encontrar "From
> maillog"
> ele saiba que é o inicio do bloco e quando ele ler "X-Mailer: XP"
> saiba
> que é o fim. Dessa forma ele inicia o trabalho em $BLOCO. Depois ele
>
> o conteúdo de $BLOCO (From:, To:, Date:) e manda para devidas
> variáveis
> ($FROM, $TO, $DATE) e pronto! Ele manda o valor de $FROM.... para
> arquivo texto (ou em banco, que é o meu caso).
> Daqui por diante ele deve descartar o valor de todas as variáveis e
> continuar para o _próximo_ bloco, que ele sabe que começa em "From
> maillog" e termina em "X-Mailer: XP". Sacaram? O problema principal
> seria essa idéia de separar em blocos, coletar variáveis e pular para
> o
> próximo bloco. Francamente nunca lí nenhum script que faça isso... rs.
> 
> Se alguém puder me dar uma luz!
> 
> Valeu Pessoal!!!
> -- 
> 
> 
> 
> 
> 
>  


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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