URL: https://linuxfr.org/forums/programmationautre/posts/expression-reguliere-5791470c-17f6-403f-a115-e6336ee2f61e Title: Expression régulière Authors: pamputt Date: 2016年02月11日T15:55:13+01:00 License: CC By-SA Tags: Score: 2 Bonjour, j'ai des fichiers qui contiennent des lignes de la forme> 11201509180811G EUX11_002-2015年09月19日 9:23:13.4 0 2015年09月19日 15:23:07.0 2015年09月18日 8:00:00.0 2015年09月19日 8:00:00.0 1 2015年09月19日 9:23:13.4 21601.68 21592.96 Dans ces lignes je voudrai d'abord détecter les lignes qui contiennent une date/heure (comme celle-ci 2015年09月18日 8:00:00.0). Ensuite, je veux vérifier que l'heure est bien écrite sur 2 chiffres. Par exemple "9:23:13.4" devrait se transformer en "09:23:13.4". Par contre "2015/09/19 15:23:07.0" ne doit pas se transformer en "2015/09/19 015:23:07.0". J'imagine que le meilleur outil pour faire ça est un "sed" avec l'expression régulière qui va bien mais j'avoue ne rien y comprendre et à chaque fois que j'essaie d'étudier comment ça marche, je m'arrache les cheveux ... J'imagine qu'il faut chercher le motif "/xx_x:" où x est un chiffre entre 0 et 9 et "_" désigne un blanc. Normalement le nombre de caractères entre "/" et ":" doit être de 5 ; s'il est de 4 alors c'est qu'il manque un 0. Donc si une bonne âme pourrait me venir en aide, je lui en serais très reconnaissante. Merci d'avance.