Rejaine Monteiro escreveu:
> Flavio Torres escreveu:
>
>> sed '1000,1055!d' arquivo.txt
>>
> a dica é boa.. mas não é tão simples assim..
> a referencias as linhas foi somente para dar um exemplo, ou seja, para
> mostrar que os dados nem sempre não estão em sequencia (uma linha após a
> outra)
> a intenção não é pegar pela linha..
> posso ter algo do tipo:
> msg 1 from [EMAIL PROTECTED]
> entrega 1 da msg 1 to dest1
> lixolixolixolixo
> lixolixolixolixo
> entrega 2 da msg 1 to dest2
> end msg 1
> msg 2 from [EMAIL PROTECTED]
> entrada 1 da msg 2 to dest1
> end msg 2
> msg 1 from [EMAIL PROTECTED]
> lixolixolixolixo
> entrega 1 da msg 1 to dest1
> lixolixolixolixo
> lixolixolixolixo
> lixolixolixolixo
> end msg 1
> no exemplo acima, preciso filtrar o seguinte:
> quem recebeu as mensagens de [EMAIL PROTECTED] , referentes a msg 1 ? ( o
> resultado deverá ser dest1 e dest2 apenas)
> coloquei lixolixolixo aletaoriamente para mostrar que podem ou nao ter
> varias outras coisas no log entre uma linha e outra (aleatoriamente...)
> note que existe uma outra msg1, porém de outro remetente..
> é por isso preciso primeiro encontrar "msg1 from [EMAIL PROTECTED]" e em
> seguida pegar todas entregas dali em diante, até parar no primeiro "end
> msg 1"
> acho q essa é a chave para a busca, porém nao descobri ainda como fazer
> isso..
>
Olá,
Desculpe o lingüição de um linhas só, mas sendo o arquivo teste.txt
contendo passou acima e os 'echo ... |' para agilizar os testes, foi o
que consegui na pressa:
echo 1 | read -p "No. da Mensagem: " num; echo "[EMAIL PROTECTED]" | read
-p "Remente : " rem; sed -n "/^msg \+$num \+from \+$rem$/,/end
\+msg \+$num$/p" teste.txt | sed -n "s/ \+entrega \+[0-9]\+ \+da \+msg
\+$num \+to \+\(.*\)/\1/p"
Retire os 'echo ... |' e se tornará interativo:
read -p "No. da Mensagem: " num; read -p "Remente : " rem; sed -n
"/^msg \+$num \+from \+$rem$/,/end \+msg \+$num$/p" teste.txt | sed -n
"s/^ \+entrega \+[0-9]\+ \+da \+msg \+$num \+to \+\(.*\)$/\1/p"
Acho que dá para começar a brincar. Boa sorte!
--
Atenciosamente,
Junior Polegato
Um peregrino de problemas; Um pergaminho de soluções!
Página Profissional: http://www.juniorpolegato.com.br
---------------------------------------------------------------------------
Esta lista é patrocinada pela Conectiva S.A. Visite http://www.conectiva.com.br
Arquivo: http://bazar2.conectiva.com.br/mailman/listinfo/linux-br
Regras de utilização da lista: http://linux-br.conectiva.com.br
FAQ: http://www.zago.eti.br/menu.html