[Précédent (date)] [Suivant (date)] [Précédent (sujet)] [Suivant (sujet)] [Index par date] [Index par sujet]

Re: vi fichiers multiples



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
>