Forum général.général [sed] Remplacer du texte contenu dans une variable et contenant des () et *

Posté par  (site web personnel) . Licence CC By‑SA.
1
20
mai
2017

Edit du 22/05/17 à 12h30 : J'en suis là

Quand je fais :

sed -i -e "s/TRUC:(1000)\*80/TRUC:(1000)\*99/" fichier

Le fichier est correctement modifié. Mais avec le code suivant, ça ne marche pas, le fichier n'est pas modifié :

old_value="(1000)\*80"
new_value="(1000)\*99"
sed -i -e "s/TRUC:'$old_value'/TRUC:'$new_value'/" fichier

Post original :

J'ai plusieurs fichiers de config. à modifier comme suit :

config.js :

param_un:valeur_1,
param_deux:valeur_2,

Pas trop dur :

param_a_modifier="param_un"
ancienne_valeur="valeur_1"
nouvelle_valeur="valeur_3"
sed -i -e 's/${param_a_modifier}:${ancienne_valeur}/${param_a_modifier}:${nouvelle_valeur/' config.js

Jusque là tout va bien. Sauf (…)