(Courriels de diversion: <entrelarder@cherissait-idealisions.com> <facies@rabaisserions-professorales.com> <nidation@savourent-scintillantes.com> <pervertissent@mettras-peignent.com> <expliquais@gangsterisme-deverguer.com> <curables@adequat-capte.com> <embroussailles@etroite-extrapolions.com> <refererai@avertisseur-localiseraient.com> <contractualise@preceptorat-inoxydables.com> <râpe@bicentenaire-delibererait.com> )


Marco a écrit :
> 
> Rebonsoir,
> 
> Je cite jdd, le Sat, Apr 27, 2002 at 08:58:47PM +0200 :
> > je voudrais modifier un texte dans une série de fichiers, situés dans une
> > arborescence (un site internet)
> >
> > par exemple remplacer jdd par jdanield
> >
> > dans le temps j'ai utilisé kfilereplace, mais ca n'a plus l'air d'exister..
> >
> > et puis sed ne doit pas être fait pour les nuls :-)
> >
> > comment faire ?
> 
> ex plutôt que sed, biscotte à ma connaissance, sed gère les flux, et
> donc on est obligé de passer par un fichier temporaire puis de renommer.
> Faire un fichier ex.txt tel que :
> cat ex.txt
> :%s/jdd/jdanield/g
> :x
> 
> for i in `find . -name "*.html"` ; do ex -s $i < sed.txt ; done
> 
> ex dépend de vi(m). Pour tout dire, ex est vi. Tu peux mettre dans
> ex.txt toutes les commandes vi en mode commande. Comme ça, il n'y a pas
> à apprendre un langage de commandes  de plus...
> 
> En espérant que ça aide, et si quelqu'un a une meilleure solution, je
> suis interessé.
> 
>         Marco

C'est bien "ex" mais "ed" le fait aussi, en nettement plus léger :

-rwxr-xr-x    1 root     root        68668 oct  2  2000 /bin/ed*

lrwxrwxrwx    1 root     root            2 fév 14  2001 /bin/ex -> vi*
-rwxr-xr-x    1 root     root       383708 oct  3  2000 /bin/vi*


Ma proposition :

find . -name "*.html |
while read fic
do
  ed $fic < ed.cmd
done 

avec dans ed.cmd :
%s/jdd/Jean-Daniel/g
wq

C'était mon chipotage du jour ;-)
 
-- 
Phil



---------------------------------------------------------------------
Aide sur la liste: <URL:mailto:linux-31-help@CULTe.org>Le CULTe sur le web: <URL:http://www.CULTe.org/>