Bonjour,
Je développe un logiciel et depuis peu je commence à m'interesser au côté "licence" de la chose.
Le choix se porte vers de la GPL v3, youpi!
J'ai donc besoin de modifier l'entête de chacun de mes fichiers pour y ajouter l'entête de la GPL.
Auriez vous une astuce ou un script bash qui permettrai
-d'ouvrir récursivement tous les fichiers *.extension d'une arborescence
-D'y insérer en première ligne le contenu type de ma licence (dans l'idéal ce contenu est lu à partir d'un fichier texte servant de référence).
J'ai pas franchment envie de devoir ouvrir un par un chaque fichier du projet pour faire cette manip.
D'avance merci
# ed, the one true editor !
Posté par castorpilot . Évalué à 2.
Il y a une façon assez facile de faire, en utilisant un fichier temporaire. Ainsi, soit le fichier "license", et le fichier "code.c". On fait :
cat license code.c > temp && mv temp code.c.
Ensuite, il y a une façon sans fichier temporaire, avec ed :
(echo '0a'; cat license; echo "."; echo "wq") | ed -s code.c
Et pour tous les fichiers, un truc du style :
for file in *.{c,h};do
(echo '0a'; cat license; echo "."; echo "wq") | ed -s "$file"
done
[^] # Re: ed, the one true editor !
Posté par castorpilot . Évalué à 2.
Il semblerait que ça soit justement un cas où un "sed -i" ne suffit pas trop, ou alors de façon assez "sale".
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.