GREP et expressions régulieres
Résolu
pcsystemd
Messages postés
734
Statut
Membre
-
pcsystemd Messages postés 734 Statut Membre -
pcsystemd Messages postés 734 Statut Membre -
Bonjour,
J'essaie de recherche dans un fichier les lignes qui comportent par exemple du 2010-01-04 au 2010-01-11. J'ai fait cela :
mais le resultat retourné s'arrête a 2010-01-09 et si je fais cela :
je n'ai rien.
Comment faire?
Merci
--
L'accès au savoir est la première liberté que chaque homme devrait avoir.
J'essaie de recherche dans un fichier les lignes qui comportent par exemple du 2010-01-04 au 2010-01-11. J'ai fait cela :
grep '2010-01-0[4-9]'
mais le resultat retourné s'arrête a 2010-01-09 et si je fais cela :
grep '2010-01-0[4-10]'
je n'ai rien.
Comment faire?
Merci
--
L'accès au savoir est la première liberté que chaque homme devrait avoir.
Configuration: Linux Mozilla 1.9.0.15
6 réponses
-
Salut,
egrep -o '2010-01-(0[1-9]|1[12])'
;-))
-
Salut,
Essaie$ cat date.txt 2010-01-01 2010-01-04 2010-01-09 2010-01-10 2010-01-11 $ grep -E '2010-01-(0[4-9]|1[01])' date.txt 2010-01-04 2010-01-09 2010-01-10 2010-01-11
-
Merci a vous deux c'est ok. Bien vue jipicy pour le 12 puisque je dois allé jusqu'au 31 . ;-)
-
Re,
Oui, mais en ce cas la regex ne reconnaîtra pas 2010-01-31 par exemple$ cat date.txt 2010-01-01 2010-01-04 2010-01-09 2010-01-10 2010-01-11 2010-01-20 2010-01-31 2010-02-05 $ grep -E '2010-01-(0[4-9]|1[01])' date.txt 2010-01-04 2010-01-09 2010-01-10 2010-01-11
Une petite modification
$ grep -E '2010-01-(0[4-9]|[12][0-9]|3[01])' date.txt 2010-01-04 2010-01-09 2010-01-10 2010-01-11 2010-01-20 2010-01-31
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Merci lami20j mais par contre je n'arrive pas a comprendre la logique de ce truc :
[12][0-9]
Pourquoi 12 seul entre [] ?
-