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

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

Retirar informações de um .eml


From: amufalo
Subject: Retirar informações de um .eml
Date: Thu, 12 Dec 2002 13:00:40 -0000
User-agent: eGroups-EW/0.82

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 !






reply via email to

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