O que está errado na ER ??

1. O que está errado na ER ??

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 16/06/2020 - 15:18h

pessoas ... o que está errado ??

A ideia é que retorne uma sequência de no mínimo 3 numeros, seguido ( ou não ) de '-' ,seguido ( ou não ) de mais dois numeros

mauricio@phantom ~/Desktop $ echo "mau 123 mau 45 mau 1 mau 12-30 mau 12365-66 mau 365214-9" | egrep -o "[0-9]{3,}?[-]?[0-9]{2}"
12
45
12
-30
12365-66
365214
mauricio@phantom ~/Desktop $


então era para me retornar 123, 12365-66 e 365214


  


2. Re: O que está errado na ER ??

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 16/06/2020 - 15:56h

Testa ai...
echo "mau 123 mau 45 mau 1 mau 12-30 mau 12365-66 mau 365214-9" |grep -Eo '([0-9]{3,}(-[0-9]{2})?)'



______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


3. Re: O que está errado na ER ??

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 16/06/2020 - 19:04h

msoliver escreveu:

Testa ai...
echo "mau 123 mau 45 mau 1 mau 12-30 mau 12365-66 mau 365214-9" |grep -Eo '([0-9]{3,}(-[0-9]{2})?)'



não deu ... a principio pq eu postei errado ... o primeiro critério é 3 ou mais mesmo, mas o segundo critério é que se tiver o "-" a sequencia tem que ter obrigatoriamente 2 numeros.

logo ou tem uma sequencia de 3 ou mais numeros ou terá que ter uma sequencia de 3 ou mais numeros + '-[0-9]{2}'

então não sei se dá para fazer isso sem um IF.

o que eu estava fazendo errado eu descobri ( era só o "?" que estava no lugar errado

------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------




4. Re: O que está errado na ER ??

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 16/06/2020 - 20:50h

echo "000-99 mau 123 mau 45 mau 1 mau 122-30 momo 12365-66 mau 365214-99"|grep -Eo --color '((^| )[0-9]{3,} |(^| )[0-9]{3,}-[0-9]{2}([ ]|$))' 

Ou troca " " por "\n", para "Encurtar" a Regex.
echo "000-99 mau 123 mau 45 mau 1 momo 777-666 mau 12365-66 mau 365214-99"|tr " " "\n"|grep -E '(^[0-9]{3,}$|^[0-9]{3,}-[0-9]{2}$)' 

Obs.: Deve "limitar" o início e o fim do que quer "casar", com o "\b" não rolou...
______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts