[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