Remplacement d'une chaine de caractères

pom -  
 pom -
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

3 réponses

  1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    essaie
    rename - 's/tata/toto/'  /chemin/vers/*.c
    je n'ai pas testé
    0
    1. pom
       
      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
  2. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    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