[edit] Encore une fois en tâtonnant j'y suis arrivé, désolé, j'ai repris mon courage à deux mains entre temps :p
Bonjour tout le monde
Je cherche à comprendre pourquoi cette expression régulière fonctionne sous un environnement de test debian mais pas sous SunOS. La différence à laquelle j'ai songé est que l'un s'appuie sur GNU l'autre POSIX, mais je peux complètement me tromper
J'avais laissé un précédent message concernant cette expression régulière qui décidément me cause bien des soucisgrep -E '\<1.([35])([.]{0,1})([0-9]{0,1})([_]{0,1})([0-9]{0,2})\>' monfichier.txt
Mais comme sur le coup j'avais réussi à débugguer tout seul en tatonnant j'avais marqué mon sujet en résolu, je me permet donc d'en rouvrir un !
L'idée est donc de chercher des chaines formatées de cette façon :
1.3(.n(_nn)) ou 1.5(.n(_nn)) dans mon fichier ^^
J'ai vérifié et sous ma debian comme sous SunOS, le contenu du fichier est identique (retour d'une commande java -version).
Sous SunOS j'ai essayé ces autres syntaxes :
egrep '1[.][35]([.]{0,1}[0-9]{0,1})([_]{0,1}[0-9]{0,2})'egrep '1\.[35]([.]{0,1})([0-9]{0,1})([_]{0,1})([0-9]{0,2})'grep '1[.]{1}[35]{1}([.][0-9]{1}){0,1}([_][0-9]{2}){0,1}'grep '1[.][35]([.][0-9]{1}){0,1}([_][0-9]{2}){0,1}'sans plus de succèsgrep '1[.]{1}[35]{1}([.][0-9]{1})?([_][0-9]{2})?'
Si d'aventure vous pouviez éclairer ma lanterne (plus que le man de grep en tout cas) je vous en remercie d'avance
NB, version correcte sous POSIX :
grep '1.[35](.[0-9]{1,2})?(_[0-9]{2})?'
Partager