J'essaie de faire une substitution de variable dans sed/bash.Substitution de variable dans sed/bash
J'ai vu cet exemple disponible here, mais il ne remplace pas les données si nécessaire. La valeur observée à la ligne 20 de $ C_CONF est $RAM
, quand je veux que ce soit 100
. La ligne 20 de $C_CONF
est AllowedRAMSpace=SomeValue
et j'aimerais changer cette valeur à la volée
C'est l'astuce que j'ai créée, mais c'est très moche et inefficace.
32 for RAM in 100 #80 60 40 20
33 do
34 sudo sed -i -re 's/(AllowedRAMSpace=)[^=]*$/\1"'"$RAM"'"/' $C_CONF
35 sudo sed -i '20s/"//' $C_CONF
36 sudo sed -i '20s/"//' $C_CONF
37 done
Quelle est l'autre manière?
ne pouvez pas reproduire votre problème. 'sed -re 's/(AllowedRAMSpace =) [^ =] * $/\ 1'" $ RAM "'/'' fonctionne comme un charme et rend vos autres commandes 'sed' inutiles. –
On dirait que c'est l'affaire. J'avais un '' '' supplémentaire. Si vous collez cela comme réponse, je l'accepterai. – tandem