Как найти и заменить значение, соответствующее строке в файле, через sed - PullRequest
0 голосов
/ 07 марта 2019

У меня есть переменная, которую я хотел бы добавить в строку, которую я искал в файле.Я хочу обновить значение, которое я получил от него.Переменная:

# 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 голосов
/ 07 марта 2019

Вы можете использовать это sed:

sed -i.bak '/unifiedlogging\.host/ s/{{\$myHost}}/&-'"$foo"'/' file
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...