[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Retirar informações de um .eml
From: |
Adriano da Silva Múfalo |
Subject: |
Re: [shell-script] Retirar informações de um .eml |
Date: |
Thu, 12 Dec 2002 16:09:50 -0200 |
José,
Não funcionou..
Eu vi q existem mais padrões do q aqueles q passei na primeira mensagem..
Coloquei abaixo a linha e o resultado dos QUATRO (ê falta de padrão) casos q
existem..
Received: from uol.com.br (200-161-16-132.terra.com.br [200.161.16.132] (may
be forged))
may be forged 550 Acesso bloqueado
Received: from milfogos.com.br (200-140-82-069
bsace7023.dsl.telebrasilia.net.br [200.140.82.69])
200.140.82.69 550 Acesso bloqueado
Received: from bol.com.br ([200.150.134.16])
200.150.134.16 550 Acesso bloqueado
Received: from 200.208.9.53 (EHLO nplex.globo.com) (200.208.9.53)
200.208.9.53 550 Acesso bloqueado
Olhando estes caso, dá pra ver q se tem [], pego o conteúdo entre eles..
senão, pego o conteúdo de logo após o from, ou os ultimos ()
Será q fica masi complicado desta maneira ?
----- Original Message -----
From: "Jose NIEVIADONSKI" <address@hidden>
To: <address@hidden>
Sent: Thursday, December 12, 2002 2:25 PM
Subject: Re: [shell-script] Retirar informações de um .eml
Oi.
Tenta isso.
for i in $(ls *.eml)
do
if IP=$(grep 'Received: from.*[[(].*[])]' $i | sed 's/^.*[[(]\([^])]*\).
*/\1/')
then
printf "%-15.15s 550 Acesso bloqueado\n" "$IP"
fi
done
Não pude testar extensivamente pois não tenho os asquivos, mas verifique se
funciona e da um retorno em PVT
José Augusto Martins Nieviadonski
Analista de Suporte Consultor
HSBC Bank Brasil S.A.
Treinamento de Informática
Para: address@hidden
cc:
cco: Jose NIEVIADONSKI/HBBR/HSBC
Assunto: [shell-script] Retirar informações de um .eml
"amufalo" <address@hidden>
12/12/2002 11:13 AM
Favor responder a shell-script <font size=-1></font>
Olá a todos !
Estou tentando pegar a informação de um arquivo, mas não estou
conseguindo de uma forma "bonita".
As linhas q contem o dado q eu quero são os seguintes:
Received: from 255.255.255.255 (EHLO servidor.algo) (255.255.255.255)
Received: from servidor.qualquer(200-200-200-200.tipo.servidor.br
200.200.200.200])
mudei os dados, mas o padrão é sempre assim..
eu tenho vários arquivos q contem essas linhas...
sendo q em alguns arquivos tenho o primeiro tipo e em outros, o
segundo tipo.
Gostaria de saber se existe uma forma "elegante" de pegar o dados
entre os ultimos parnteses no primeiro caso, e entre os colchetes no
segundo.
Hj faço da seguinte forma:
for i in $(ls *.eml)
do
if IP=$(cat $i | egrep "Received:.*\[.*\].*" | head -1 | cut -d[ -f2
| cut -d] -f1)
then
printf "%-15.15s 550 Acesso bloqueado\n" "$IP"
fi
done
com este script, só pego o dado q preciso na segunda linha...
queria q fosse mais genérico...
algo do tipo:
egrep "Received:.*?(\[,\().*(\],\)).*"
sei lá... algo q eu aponte na string de regex só uma parte q eu quero
q retorne... nà o toda a linha q combina com o padrão..
não sei se fui claro...
Alguém já fez algo parecido ?
Obrigado a todos !
---------------------------------------------------------------------
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: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em
http://www.listasdiscussao.cjb.net
---------------------------------------------------------------------
Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html
This E-mail confidential. It may also be legally privileged. If you are not
the addressee you may not copy, forward, disclose or use any part of it. If
you have received this message in error, please delete it and all copies
from your system and notify the sender immediately by return E-mail.
Internet communications cannot be guaranteed to be timely, secure, error or
virus-free. The sender does not accept liability for any errors or
omissions.
---------------------------------------------------------------------
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: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em
http://www.listasdiscussao.cjb.net
---------------------------------------------------------------------
Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html
_______________________________________________________________________
Busca Yahoo!
O melhor lugar para encontrar tudo o que você procura na Internet
http://br.busca.yahoo.com/