commande sed pour supprimer des commentaires
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:
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:
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:
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.