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

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

Re: [shell-script] Retirar informações de um .eml


From: Jose NIEVIADONSKI
Subject: Re: [shell-script] Retirar informações de um .eml
Date: Thu, 12 Dec 2002 13:25:51 -0300

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.



reply via email to

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