Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
expression régulière et sed
Envoyé par: jpazerty

Bonjour,
je m'arrache les cheuveux sur un cas (bon je suis pas très fort en expressions régulières), donc s'il y a une âme charitable.., voici:
j'ai un texte comme ceci:
23:00 19 C Nord-Nord-Ouest : 346  5 -- -- 87 % 1020 hPa Ciel clair
 05 02:00 19 C Nord : 8  5 -- -- 82 % 1020 hPa Ciel clair
 05:00 19 C Nord : 0  10 -- -- 78 % 1021 hPa Ciel clair
 08:00 21 C Nord : 8  5 -- -- 70 % 1021 hPa Ciel clair
 11:00 25 C Sud-Est : 141  5 -- -- 58 % 1022 hPa Ciel clair
 14:00 26 C Sud-Sud-Est : 166  10 -- -- 56 % 1021 hPa Ciel clair
 17:00 25 C Sud-Sud-Ouest : 192  10 -- 0.4 mm 59 % 1021 hPa Averses de
 pluie faibles
 20:00 24 C Sud-Ouest : 219  10 -- 0.4 mm 69 % 1021 hPa Averses de
 pluie faibles
 23:00 20 C Ouest-Nord-Ouest : 291  5 -- -- 81 % 1021 hPa Ciel clair
 06 02:00 20 C Nord-Nord-Ouest : 348  5 -- -- 82 % 1022 hPa Ciel clair
 05:00 20 C Nord-Nord-Est : 33  5 -- -- 79 % 1021 hPa Ciel clair
 08:00 23 C Nord-Est : 50  10 -- -- 69 % 1021 hPa Ciel clair
 11:00 25 C Sud-Est : 125  10 -- -- 59 % 1021 hPa Ciel clair
 14:00 26 C Sud-Sud-Est : 153  10 -- 0.2 mm 58 % 1021 hPa Ciel clair
 17:00 25 C Sud-Sud-Est : 166  10 -- 0.8 mm 60 % 1020 hPa Averses de
 pluie faibles
 20:00 23 C Sud-Sud-Ouest : 211  5 -- 0.9 mm 70 % 1020 hPa Averses de
 pluie faibles
 23:00 20 C Ouest-Nord-Ouest : 296  5 -- 1 mm 80 % 1021 hPa Averses de
 pluie faibles
 07 02:00 20 C Nord-Nord-Est : 11  5 -- 0.6 mm 83 % 1021 hPa Averses
 de pluie faibles
 05:00 20 C Nord-Nord-Est : 29  10 -- 0.4 mm 76 % 1020 hPa Averses de
 pluie faibles
 20:00 23 C Sud-Ouest : 225  5 -- 0.7 mm 75 % 1020 hPa Risque d'orage
 23:00 21 C Nord-Nord-Ouest : 348  5 -- 0.8 mm 80 % 1020 hPa Risque
 d'orage faible
et grace a un sed (je pense) je voudrais obtenir ceci :
23:00 19 C Nord-Nord-Ouest : 346  5 -- -- 87 % 1020 hPa Ciel clair
 05 02:00 19 C Nord : 8  5 -- -- 82 % 1020 hPa Ciel clair
 05:00 19 C Nord : 0  10 -- -- 78 % 1021 hPa Ciel clair
 08:00 21 C Nord : 8  5 -- -- 70 % 1021 hPa Ciel clair
 11:00 25 C Sud-Est : 141  5 -- -- 58 % 1022 hPa Ciel clair
 14:00 26 C Sud-Sud-Est : 166  10 -- -- 56 % 1021 hPa Ciel clair
 17:00 25 C Sud-Sud-Ouest : 192  10 -- 0.4 mm 59 % 1021 hPa Averses de pluie faibles
 20:00 24 C Sud-Ouest : 219  10 -- 0.4 mm 69 % 1021 hPa Averses de pluie faibles
 23:00 20 C Ouest-Nord-Ouest : 291  5 -- -- 81 % 1021 hPa Ciel clair
 06 02:00 20 C Nord-Nord-Ouest : 348  5 -- -- 82 % 1022 hPa Ciel clair
 05:00 20 C Nord-Nord-Est : 33  5 -- -- 79 % 1021 hPa Ciel clair
 08:00 23 C Nord-Est : 50  10 -- -- 69 % 1021 hPa Ciel clair
 11:00 25 C Sud-Est : 125  10 -- -- 59 % 1021 hPa Ciel clair
 14:00 26 C Sud-Sud-Est : 153  10 -- 0.2 mm 58 % 1021 hPa Ciel clair
 17:00 25 C Sud-Sud-Est : 166  10 -- 0.8 mm 60 % 1020 hPa Averses de pluie faibles
 20:00 23 C Sud-Sud-Ouest : 211  5 -- 0.9 mm 70 % 1020 hPa Averses de pluie faibles
 23:00 20 C Ouest-Nord-Ouest : 296  5 -- 1 mm 80 % 1021 hPa Averses de pluie faibles
 07 02:00 20 C Nord-Nord-Est : 11  5 -- 0.6 mm 83 % 1021 hPa Averses de pluie faibles
 05:00 20 C Nord-Nord-Est : 29  10 -- 0.4 mm 76 % 1020 hPa Averses de pluie faibles
 20:00 23 C Sud-Ouest : 225  5 -- 0.7 mm 75 % 1020 hPa Risque d'orage
 23:00 21 C Nord-Nord-Ouest : 348  5 -- 0.8 mm 80 % 1020 hPa Risqued'orage faible

donc toutes les lignes qui contiennent "pluie faibles, faibles, orages", enfin bref les lignes où il n'y a que du texte, doivent venir à la fin de la ligne précédente.
est-ce que c'est possible ?
Merci d'avance

Poste le Thursday 4 July 2013 18:22:56
Répondre     Citer    
Re: expression régulière et sed
Envoyé par: jpazerty

Après de multiple recherche j'y suis quasiment arrivé en faisant
sed -e :a -e '$!N;s/\n [a-z]//;ta' -e 'P;D'
ça touve les lignes qui commencent par "un espace une lettre quelconque" (ce qui est min cas), ça l'ajoute à la ligne qui précède, le soucis c'est que ça me remplace la première lettre par "rien", c'ets une commande que j'ai trouvé sur un forum, et je n'arrive pas à la remanier. Mais à la rigueur c'ets pas trop grave car dans la suite de mon script je retraite les lignes. Le but était vraiment de faire remonter ces lignes sur la ligne précédente.

Poste le Friday 5 July 2013 13:03:41
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
expression régulière et sed
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons