Remplacement caractère fichiers

Résolu
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. Contributeur
    Salut,

    sed -e ' /motif_visé/ {s/chaine_a_remplacer/nouvelle_chaine/g}'
     
    0
    1. 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. Contributeur
        $ 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
    2. Merci beaucoup! Ça fonctionne... Bonne journée!
      0