sed substituir por variável

sed substituir por variável

Estou tentando substituir a string correspondente por outra string. Isto é o que eu tenho

ZKHOSTS="host1,host2,host3"
old_string="tsd.storage.hbase.zk_quorum*"
new_string="tsd.storage.hbase.zk_quorum = $ZKHOSTS"

sed -i '/$old_string/c\$new_string' /etc/opentsdb/opentsdb.conf

que não está funcionando como esperado.

Eu até tentei seguir

sed -i 's/$old_string/$new_string/g' /etc/opentsdb/opentsdb.conf

sed -i '/${old_string}/${new_string}/g' /etc/opentsdb/opentsdb.conf

Não sei o que estou fazendo de errado aqui.

Responder1

Você deve usar aspas duplas, como:

sed -i "s/$old_string/$new_string/g" /etc/opentsdb/opentsdb.conf

informação relacionada