Linhas grep que contêm “1111-11-11” ou “2382-21-20”. (Quaisquer números)

1

Eu tentei fazer isso e descobri isso

grep -E '\<[0-9]{4}"-"[0-9]{2}"-"[0-9]{2}\>'

Ele não funciona e a razão para isso é o "-" e várias coisas do grep, então eu tentei dividi-los com um pipe como este

grep -E '\<[0-9]{4}-|[0-9]{2}-|[0-9]{2}\>'

Mas ainda corresponde a linhas como 4444 ou similar. Alguém sabe como conseguir o que eu quero?

    
por DisplayName 29.12.2014 / 16:17

2 respostas

5

você está superando ...

grep -E '\<[0-9]{4}-[0-9]{2}-[0-9]{2}\>'
    
por 29.12.2014 / 16:22
0

JJoao está certo sobre as cotações, além disso pode torná-lo um pouco mais curto:

grep -E '\<[0-9]{4}(-[0-9]{2}){2}\>'
    
por 29.12.2014 / 16:33