GREP: D?vida com express?o regular

Matias Schweizer <matias-7pUm/SSSJFa7hsvYdc9FTl/I71DsQ//[email protected]> Fri, 06 Jul 2007 18:40:39 -0300
Newsgroups gmane.org.user-groups.linux.parana
Message-ID <[email protected]>
	Pessoal:

	Estou com um pequeno mistério aqui. Estou fazendo uma 	expressão regular, para identificar/pegar um email dentro 
	de uma linha qq. Faço o seguinte:

echo $line|grep -m 1 -o -e "[a-z0-\9\-_\.]*@[a-z0-9\-\.]*[a-z0-9\-]*"|tail -n 1

	Na verdade, a expressão original era:

grep -m 1 -o -e "[a-z0-9-_.]*@[a-z0-9-.]*[a-z0-9-]*"|tail -n 1

	No entanto, testando um duas máquinas (uma Slackware e
	outra RH), na RH acontece isso:

echo "<matias-7pUm/SSSJFa7hsvYdc9FTl/I71DsQ//[email protected]>"|grep -m 1 -o -e "[a-z0-9-_.]*@[a-z0-9-.]*[a-z0-9-]*"|tail -n 1 
grep: Invalid range end

	Na maquina original, funciona.

	Ambos os grep são 2.5.1 e ambos os bash são 2.5b. Além de
	tudo, quando eu copio um /bin/grep para essa maquina RH,
	o erro que não aparecia, ocorre na maquina RH.

	Independente da expressão regular estar certa ou errada,
	alguém explica esse comportamento?

	[]´s

Matias Schweizer
matias-7pUm/SSSJFa7hsvYdc9FTl/I71DsQ//[email protected]
SCHNAUZER Plastimodelismo
http://www.spmodelismo.com.br/