Remplacement caractère fichiers

Résolu
bdssssss Messages postés 9 Statut Membre -  
bdssssss Messages postés 9 Statut Membre -
Bonjour,

Je souhaite modifier un caractère dans un fichier à une ligne particulière (ligne contenant la chaîne de caractère "texte").

Mon fichier se présente de la façon suivante :

...
blablabla
texte : chaine_a_remplacer
blablabla
...

Je souhaite remplacer "chaine_a_remplacer", mais uniquement sur cette ligne. En effet, en utilisant la commande : sed -e "s/chaine_a_remplacer/nouvelle_chaine/g", l'occurrence est remplacée dans tous le fichier...

Est-ce possible?

Merci!

3 réponses

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    sed -e ' /motif_visé/ {s/chaine_a_remplacer/nouvelle_chaine/g}'
     
    0
  2. bdssssss Messages postés 9 Statut Membre
     
    Merci pour la réponse rapide!

    J'imagine que "motif_visé", dans mon exemple, correspond à "texte"?

    La commande tapée dans un terminal ne fonctionne pas. En effet, il ne se passe rien quand je tape la commande :

    sed -e ' /texte/ {s/chaine_a_remplacer/nouvelle_chaine/g}'

    Que dois-je faire?
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      $ cat plop 
      ...
      blablabla : chaine_a_remplacer
      texte : chaine_a_remplacer
      blablabla : chaine_a_remplacer
      ... 
      
      $ sed 's/chaine_a_remplacer/nouvelle_chaine/' plop 
      ...
      blablabla : nouvelle_chaine
      texte : nouvelle_chaine
      blablabla : nouvelle_chaine
      ... 
      
      $ sed '/texte/ {s/chaine_a_remplacer/nouvelle_chaine/}' plop 
      ...
      blablabla : chaine_a_remplacer
      texte : nouvelle_chaine
      blablabla : chaine_a_remplacer
      ... 
      
      $
      0
  3. bdssssss Messages postés 9 Statut Membre
     
    Merci beaucoup! Ça fonctionne... Bonne journée!
    0