Eu usaria (uso) coisas assim: while read;do [ "$REPLY" = "From maillo" ]&&HEADER=1&&echo inicio [ "$REPLY" = "X-Mailer: XP" ]&&HEADER=&&echo fim done<arquivo
----------------------- Ao responder, favor retirar meu endereço de email do corpo da mensagem. Obrigado! ------------------------------------------------------------------ >From: Edilson Azevedo >Date: Tue, 08 May 2007 10:03:38 -0300 > >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) >From: "Javali cafona" <[EMAIL PROTECTED]> > >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/^[ ]*//;s/[ ]*$//'`(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" <[EMAIL PROTECTED]> >X-Mailer: XP > >Email 2 >>From maillog >Date: Mon, 7 May 2007 10:05:37 -0300 (BRT) >From: "Javali cafona" <[EMAIL PROTECTED]> >Cco: [EMAIL PROTECTED] >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!!! >-- > > --------------------------------------------------------------------- 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 --------------------------------------------------------------------- Servidor Newsgroup da lista: news.gmane.org Grupo: gmane.org.user-groups.programming.shell.brazil 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
