(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/>