Rechercher : dans
Par :

Remplacement d'une chaine de caractères

Dernière réponse le 17 jan 2009 à 22:42:00 pom, le 4 déc 2006 à 14:01:10 
 Signaler ce message aux modérateurs

Bonjour, dans un répertoire, j'ai plusieurs fichier *.c Je désire changer toutes les occurences "toto" en "tata" par exemple. Comment puis-je faire ça en qq lignes dans un terminal ? Je verrais bien la commande grep, mais comment changer mes occurences ?

Merci.

Configuration: Suse pro 9.3

1

lami20j, le 4 déc 2006 à 14:12:04

Salut,

essaie

rename - 's/tata/toto/'  /chemin/vers/*.c
je n'ai pas testé
lami20j

Répondre à lami20j

2

pom, le 4 déc 2006 à 15:05:01

Oups, pardon, je me suis mal exprimé : dans mes fichiers, j'ai écrit des choses. et je voudrais remplacer tous les mots "toto" par "tata". Pardon, je me suis mal fait comprendre.

Répondre à pom

3

lami20j, le 4 déc 2006 à 15:12:11

Salut,

for i in $(ls *.c);do sed -i.orig 's/toto/tata/g' $i;done
ou
perl -pi.orig -e 's/toto/tata/g' *.c
Les fichiers sont sauvegardés avec l'extension .orig
lami20j

Répondre à lami20j

4

 pom, le 4 déc 2006 à 15:23:43

Merci !!

Répondre à pom