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/