Remplacer un mot sur plusieurs fichiers ? - Divers - Linux et OS Alternatifs
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.
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 ?
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
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.
Marsh Posté le 18-04-2006 à 11:55:55
4bis a écrit : Bonjour a tous, |
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.
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é
Marsh Posté le 18-04-2006 à 17:54:42
ReplyMarsh 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 .
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++
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.