[Précédent (date)] [Suivant (date)] [Précédent (sujet)] [Suivant (sujet)] [Index par date] [Index par sujet]
Re: vi fichiers multiples
- To: "" <>
- Subject: Re: vi fichiers multiples
- From: Richard Prescott <>
- Date: 25 Aug 2003 08:06:24 -0400
-
In-reply-to: <[email protected]>
Pour tous les sous-repertoires faire comme ceci :
find /chemin -type f \
-exec perl -wpe s/ChaineOrigine/Nouvellechaine/g {} > {}.new \; \
-exec mv {}.new {} \;
Si je ne me trompe pas, on peut utiliser -i a perl pour eviter le mv
donc :
find /chemin -type f \
-exec perl -wpi -e 's/ChaineOrigine/Nouvellechaine/g' {} \;
C'est en general aussi une bonne idee de quoter l'expression perl.
Cette methode de travail est vraiment puissante.
On Sun, 2003-08-24 at 18:34, Pascal Schneider wrote:
> Salut
>
> pour tous les sous repertoire, je ne sait pas, pour un repertoire fait :
>
> for f in /chemin/*; do
> NouvFichier="/chemin/"$f".NOUV"
> perl -wpe s/ChaineOrigine/Nouvellechaine/g $f>$NouvFichier
> mv -f $NouvFichier $f
> done
>
> il ne te reste plus qu'a l'adapter aux sous repertoires ou faire un script
> qui te les met en variable avant celui ci
>
> en fait, n'ai jamais teste ce script dans un répertoire ayant des sous
> répertoires
>
> bonne chance
>
> Pascal
>
> ----- Original Message -----
> From: "Bob Beserko" <[email protected]>
> To: <[email protected]>
> Sent: Sunday, August 24, 2003 9:07 PM
> Subject: vi fichiers multiples
>
>
> > Bonjour,
> >
> > J'aimerais savoir comment faire pour remplacer une
> > chaîne de caractères dans tous les fichiers d'un
> > répertoire et de ses sous-répertoires à l'aide de vi.
> >
> > Merci,
> >
> > B.
> >
> > __________________________________________________________
> > Lèche-vitrine ou lèche-écran ?
> > magasinage.yahoo.ca
> >
> > --
> > Liste de diffusion aide
> > http://linux-quebec.org/mailman/listinfo/aide
> >
>
> --
> Liste de diffusion aide
> http://linux-quebec.org/mailman/listinfo/aide
>