如何通过sed搜索和替换与文件中的字符串相对应的值

时间:2019-03-07 20:45:18

标签: shell awk sed scripting

我有一个变量,想要在文件中搜索的字符串中附加一个变量。我想更新从中获得的价值。变量是:

# foo=$(echo "$(hostname)" | awk -F '-' '{print $NF}')
# echo $foo
spsns

现在我搜索的字符串是:

# grep "unifiedlogging.host" /opt/tpa/confd/asr.jvm.opt.d/templates/jvm.opt.tmpl
-Dunifiedlogging.host={{$myHost}}

现在;我想将{{$ myHost}}的值替换为{{$ myHost}}-$ foo 并在文件本身上对其进行更新。我尝试用sed来做,但不知道。有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

您可以使用此sed

sed -i.bak '/unifiedlogging\.host/ s/{{\$myHost}}/&-'"$foo"'/' file