[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.
- Re: [shell-script] Retirar informações de um .eml,
Jose NIEVIADONSKI <=