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
                
            
                
    
    
    
        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
        A voir également:         
- GREP et expressions régulieres
- Grep recursif - Forum Linux / Unix
- Find grep - Forum Shell
- [PHP] Expressions régulières - Forum PHP
- Notepad++ expressions régulières ✓ - Forum Logiciels
- [PHP] : Expressions regulières - Forum PHP
6 réponses
                        
                    Salut,
Essaie
    
                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
                        
                    Re,
Oui, mais en ce cas la regex ne reconnaîtra pas 2010-01-31 par exemple
Une petite modification
    
                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 
    
    
    
    
au 2010-01-11
Il n'y a pas 12 ;-DDD, à moins que tu es sur le coup d'anticipation ;-)
Arf, j'ai pas fait gaffe au format de date et j'ai anticipé sur le dernier chiffre comme étant un mois (d'où le 12 = Décembre) ;-((
Ben, tu as vu le mois et moi j'ai vu le jour ;-) (01 = janvier)