Remplacement d'une chaine de caractères

Fermé
pom - 4 déc. 2006 à 14:01
 pom - 4 déc. 2006 à 15:23
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.

3 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
4 déc. 2006 à 14:12
Salut,

essaie
rename - 's/tata/toto/'  /chemin/vers/*.c
je n'ai pas testé
0
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.
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
4 déc. 2006 à 15:12
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
0
Merci !!
0