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

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

Re: [shell-script] Header de mensagem


From: Flavio Junior
Subject: Re: [shell-script] Header de mensagem
Date: Thu, 15 May 2008 10:31:33 -0300

So completando a minha ideia anterior, e eu nao sabia q tu queria SÓ
os e-mials..
Segue com a regex:

lazlo:~# cat txt
Delivered-To: address@hidden
To: address@hidden
In-Reply-To: <address@hidden>
References: <address@hidden>
From: address@hidden
Sender: address@hidden
lazlo:~# tail -f txt | sed -rn 's/^(Delivered-To:|To:|Sender:) (.*)$/\2/p'
address@hidden
address@hidden
address@hidden


--

Flávio do Carmo Júnior



2008/5/15 Tiago Barcellos Peczenyj <address@hidden>:
> Eis um bom começo
>
> $ cat header
>
> Delivered-To: address@hidden
> To: address@hidden
> In-Reply-To: <address@hidden>
> References: <address@hidden>
> From: address@hidden
> Sender: address@hidden
>
> $ awk 'BEGIN{FS="[: ]+";} $1 == "Delivered-To" { print $2}' header
> address@hidden
>
> 2008/5/15 Edilson Azevedo <address@hidden>:
>> Olá pessoal!
>>
>> Primeiro agradeço ao 'MrBIT' pela liberação do OFF-TOPIC. Continuando,
>> os exemplos do sed me cairam bem, também tive bons resultados com a soma
>> de grep e awk. Isso funciona perfeitamente em arquivo, mais em stream
>> não sei como posso aplicar. Por exemplo: Tenho um arquivo que cresce
>> constantemente devido á entrega e recebimentos de email na companhia,
>> então a aplicação disso seria como se fosse em stream (no quente). Os
>> seja:
>>
>> Os dados vêm ---> aqui o script atuaria ---> daqui pra frente seria a
>> gravação em banco, coisa que já providenciei.
>>
>> Sendo assim, para cada bloco de informação do tipo abaixo ele me daria
>> apenas o que eu quero em modo stream, dessa forma:
>>
>> Delivered-To: address@hidden ===> Isso eu quero
>> To: address@hidden ====> Isso eu quero
>> In-Reply-To: <address@hidden>
>> References: <address@hidden>
>> From: address@hidden
>> Sender: address@hidden =====> Isso eu quero
>>
>> E guardaria em arquivo (ou banco em meu caso), limparia as variáveis -
>> caso use variáveis para esse serviço - e passaria para o próximo bloco,
>> sacaram?
>>
>> Essa parte de ler um arquivo em seqüencia, extrair apenas o necessário é
>> que eu não sei fazer em shell. Se eu dou um cat e grep ele já traz o que
>> eu quero, e ignora o resto. Daí pra frente terei o resultado só do
>> primeiro grep, o resto será ignorado.
>>
>> Alguém sabe como posso fazer com que um script shell trabalhe dessa
>> forma? Extraindo em stream apenas o que eu quero?
>>
>> Abraços amigos!
>>
>>
>
> --
> Tiago B Peczenyj
> Linux User #405772
>
> http://peczenyj.blogspot.com/
> "what does not kill us makes us stronger"
> 


reply via email to

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