Insertion de blocs texte dans un fichier (sed).
Bonjour,
Je développe actuellement une librairie constituées de plusieurs modules (.c/.h) et je dois fournir deux fichiers lib.a et lib.h
Dans chacuns des headers des modules j'ai des blocs délimités qui doivent être "copiés" dans le fichier lib.h.
Code:
1 2 3 4 5 6
| // DEBUT-H-EXPORT --------------
Déclarations du module1
Prototypes des fonctions du module1
// FIN-H-EXPORT --------------
Autres déclarations du module1
Autres prototypes des fonctions du module1 |
Code:
1 2 3 4 5 6
| // DEBUT-H-EXPORT --------------
Déclarations du module2
Prototypes des fonctions du module2
// FIN-H-EXPORT --------------
Autres déclarations du module2
Autres prototypes des fonctions du module2 |
et dans un fichier lib.h.in
Code:
1 2 3 4
| Includes pour la lib
// H-IMPORT --------------
Déclarations de la lib
Prototypes des fonctions de la lib |
A ce stade, j'ai réussi à copier les différents blocs des headers à la fin du fichier lib.h
Citation:
rm lib.h
cp lib.h.in lib.h
sed -n '/DEBUT-H-EXPORT/,/FIN-H-EXPORT/p' *.h | grep -v '\-H\-EXPORT' | sed '/./,/^$$/!d' >> lib.h
Note: Le grep permet de supprimer les lignes contenant "H-EXPORT" et le second sed élimine les sauts de lignes vides.
Après quelques heures de recherche infructueuses, ce que "j'aimerai" bien, c'est de pouvoir insérer les blocs délimités des headers en lieu et place de la ligne H-IMPORT dans le fichier lib.h.in.
Code:
1 2 3 4 5 6 7
| Includes pour la lib
Déclarations du module1
Prototypes des fonctions du module1
Déclarations du module2
Prototypes des fonctions du module2
Déclarations de la lib
Prototypes des fonctions de la lib |
Merci d'avance.