Bonjour,
je developpe un petit script qui enleve les commentaires d'un fichier C.
Tout va bien sauf pour les commentaires du type :
/* ======================
blabla
blabla
blabla
=======================*/
Pour les supprimer, j'ai voulu supprimer les sauts de lignes pour pouvoir ensuite enlever ce qui se trouve entre /* et */
Ca donne :
tr '\r\n' '~' |
sed 's/\/\*.*\*\///g' |
tr '~' '\r\n'
Le hic, c'est que le sed en question prend comme balise la 1° occurence de /* et la derniere de */
donc ca ne marche pas pour du code C de la forme
toto=0;
/* ======================
blabla
blabla
blabla
=======================*/
toto=1;
/* comment */
toto=2;
Resultat obtenu :
toto=0;
toto=2;
Quelqu'un sait il comment faire ?
N'hésitez pas si vous avez besoin d'explication supplémentaires!
Merci d'avance,
Christophe


