[sed] remplacer une ligne contenant

romulus -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
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. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    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. romulus
       
      Bonjour jipicy

      mon problème :

      $ cat fichier :
      "parametre1"= 45.6.78,
      
      0
    2. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      sed 's#\("parametre1"= \)[^,]*#\17.7.77#'
      0