[sed] remplacer une ligne contenant

Bonjour,

Avec sed je souhaite remplacer une ligne contenant un terme connu. Voici
où j'en suis :

sed -i "s/\"parametre1\"=45678/\"parametre1\"=12345/g" {} \; 


Qui en fait remplace
"parametre1"=45678
par
"parametre1"=12345

Mais, la valeur d'origine du paramètre1 (ici 45678) n'est pas toujours
identique. Comment faire pour remplacer la ligne contenant simplement
"parametre1" ?

Merci

1 réponse

  1. Modérateur
    Salut,

    $ cat plop
    Qui en fait remplace
    "parametre1"=45678
    par
    "parametre1"=12345
    
    Mais, la valeur d'origine du paramètre1 (ici 45678) n'est pas toujours
    identique. Comment faire pour remplacer la ligne contenant simplement
    "parametre1" ?
    
    $ sed 's#\("parametre1"=\)[[:digit:]]*#\177777#' plop
    Qui en fait remplace
    "parametre1"=77777
    par
    "parametre1"=77777
    
    Mais, la valeur d'origine du paramètre1 (ici 45678) n'est pas toujours
    identique. Comment faire pour remplacer la ligne contenant simplement
    "parametre1" ?

    ;-))
    0
    1. Bonjour jipicy

      mon problème :

      $ cat fichier :
      "parametre1"= 45.6.78,
      
      0
    2. Modérateur
      sed 's#\("parametre1"= \)[^,]*#\17.7.77#'
      0