Bonjour,

j'ai posté sur un autre forum (outils C/C++) pour une petite tâche: supprimer les commentaires au format doxygen.
Ceux-ci sont de deux sortes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
/// commentaire sur une ligne
 
/** 
 commentaire multiligne
 */
Je ne veux pas toucher aux commentaires classiques du C++.

Voici le script sed que j'ai fait à cette tâche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#! /bin/sh
#
i=$1
 
cat $i | \
sed '
s/[ 	]*$//
' | \
sed '
s/\/\/\/.*//
' | \
sed '
/\/\*\*/,/\*\//d
' > $i.new
Dans l'ensemble il fait ce que je veux.
Cependant, en supposant que quelqu'un écrive un commentaire sur plusieurs lignes mais sans commencer sur une nouvelle ligne ou sans commencer une nouvelle après la fin du commentaire, comme ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
blahblah /** commentaire multiligne
*/ blahblha
alors je suis fourré.

Une suggestion ?
C'est un cas qui ne devrait pas arriver. Mais je me demande quand même comment faire.