[gull] remplacement dans fichier source
Cédric Bouvier
cbouvi at free.fr
Tue Dec 6 18:53:49 CET 2005
Le mardi 6 décembre 2005, à 18 heures 00, maitre écrivait :
> Antoine Induni wrote:
>
> >Bonjour la liste,
> >Afin de publier un petit projet de dev en gpl, je dois ajouter l'entête
> >contenant la licence à tous mes fichiers source.
> >
> >Voilà ma première tentative.
> >find -type f -name "*.cs" -exec cat ./gnu.lic '{}' >> '{}' \;
> >
> >Mais cat n'est pas trop content car la source et la cible sont identique.
> >J'ai pensé à sed mais mon but n'est pas de remplacer mais d'ajouter.
> >
> >Les gurus unix ont-ils une idée?
> >
>
> Par exemple comme ceci:
>
> find -type f -name "*.cs" | while read i; do cat gnu.lic >> $i; done
>
Sauf que ce n'est plus un en-tête, c'est «un en-queue»
find -type f -iname \*.cs | while read i; do mv "$i" "$i.bak"; (cat gnu.lic; cat "$i.bak") > "$i" ; done
C'est toujours une bonne idée d'interpoler les variables entre
guillemets, au cas où un nom de fichier contiendrait un espace.
--
C é d r i c B o u v i e r
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://forum.linux-gull.ch/pipermail/gull/attachments/20051206/7e8be9fc/attachment.pgp>
More information about the gull
mailing list