Remplacer un mot sur plusieurs fichiers ?

Remplacer un mot sur plusieurs fichiers ? - Divers - Linux et OS Alternatifs

Marsh Posté le 29-07-2005 à 10:20:50    

Bonjour a tous,
 
J'ai un peu plus d'une cinquantainre de fichiers, et je dois remplacer un mot par un autre. Comment procéder pour le faire automatiquement sur les 50 fichiers et ne pas le faire un par un ?
 
Je suis sous une distrib CentOs.

Reply

Marsh Posté le 29-07-2005 à 10:20:50   

Reply

Marsh Posté le 29-07-2005 à 10:23:05    

man sed

Reply

Marsh Posté le 29-07-2005 à 10:34:04    

Oui d'accord, mais je vois pas comment faire pour realiser ce remplacement sur des fichiers contenus dans plusieurs répertoires differents.

Reply

Marsh Posté le 29-07-2005 à 10:38:44    

utilise plutot perl, un truc du genre :

perl -pi -e `s/ancien\ mot/nouveau\ mot/g' unFichier


 
ensuite pour le faire pour tous tes fichiers, ça dépend ...
As-tu la liste ?
Peux-tu l'obtenir avec un find ?
N'y a-t-il que tes fichiers dans un répertoire de base ?


---------------
get amaroK plugin
Reply

Marsh Posté le 29-07-2005 à 10:40:33    

Si tous ces répertoires se trouvent dans un même répertoire supérieur tu fais avec find / -type f ... -exec ...
Sinon tu listes les fichiers dans une variables et tu fais un for i in $liste [...] sed .... $i

Reply

Marsh Posté le 29-07-2005 à 10:45:40    

D'accord merci je vais essayer.  
 
Mes fichiers sont contenus dans plusieurs répertoires, c'est ca le hic, mais avec vos conseils, ca devrait etre bon. :)

Reply

Marsh Posté le 18-04-2006 à 11:55:55    

4bis a écrit :

Bonjour a tous,
 
J'ai un peu plus d'une cinquantainre de fichiers, et je dois remplacer un mot par un autre. Comment procéder pour le faire automatiquement sur les 50 fichiers et ne pas le faire un par un ?
 
Je suis sous une distrib CentOs.


 
ca ca marche si tous tes fichiers sont dans le même rep :
 
#! /bin/bash
for file in *.txt
    do
    cp $file $file.bak &&
    sed "s|$1|$2|g" $file.bak > $file
done
 
et tu le nomme rep par exemple, et tu tapes ./rep cherche remplace, ou cherche est le mot a chercher, et remplace
le mot par lequel tu va le remplacer.
 
maintenant si comme moi tes 50 000 files sont dans des rep, je ne sais pas, j'ai moi même un post en cors.
 
 [:azylum]


---------------
Mon topic - Mon Feed-Back
Reply

Marsh Posté le 18-04-2006 à 11:56:20    

j'espere que depuis 6 mois tu as trouve la solution quand même héhé


---------------
Mon topic - Mon Feed-Back
Reply

Marsh Posté le 18-04-2006 à 17:22:26    

Reply

Marsh Posté le 18-04-2006 à 17:54:42    


 
kesako rpl ?


---------------
Mon topic - Mon Feed-Back
Reply

Marsh Posté le 18-04-2006 à 17:54:42   

Reply

Marsh Posté le 19-04-2006 à 21:27:08    

rpl - intelligent recursive search/replace utility

Reply

Marsh Posté le 19-04-2006 à 22:44:15    

ha ok...oui ya des trucs comme ca, payant meme, mais je prefere 10 lignes de commandes .


---------------
Mon topic - Mon Feed-Back
Reply

Marsh Posté le 19-04-2006 à 23:58:01    

c'est gratuit, testé, et éprouvé....

Reply

Marsh Posté le 20-04-2006 à 08:31:56    

splurf a écrit :

c'est gratuit, testé, et éprouvé....


bon ben je vais tester ça ce matin au boulot, A++


---------------
Mon topic - Mon Feed-Back
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed