[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Separar arquivos em blocos
From: |
Edilson Azevedo |
Subject: |
Separar arquivos em blocos |
Date: |
Tue, 08 May 2007 10:03:38 -0300 |
User-agent: |
Thunderbird 1.5.0.9 (X11/20070103) |
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 lê
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!!!
--
- Separar arquivos em blocos,
Edilson Azevedo <=