Заменить строку в другом файле на sed из bash-скрипта - PullRequest
0 голосов
/ 19 мая 2011

Я пытаюсь заменить значение определения переменной среды, если оно существует, скриптом bash.Я знаю, что могу использовать sed для этого, но я не уверен, как заменить значение переменной среды?

Вот что я хотел бы сделать:

Имеется файл с этой строкой (найден с grep):

export MY_ENV=SOME_VALUE

Я бы хотел заменить SOME_VALUE чем-то другим.Как мне сделать это с sed?

Ответы [ 2 ]

5 голосов
/ 19 мая 2011

Поиск строки, начинающейся с export MY_ENV=, и замена остальной части строки NEW_VALUE:

sed 's/^\(export MY_ENV=\).*$/\1NEW_VALUE/'
0 голосов
/ 19 мая 2011
sed -e "s/SOME_VALUE/$MY_ENV/"

Это находит строку SOME_VALUE и заменяет значение $MY_ENV. Двойные кавычки имеют решающее значение; не используйте одинарные кавычки, если вы не хотите, чтобы $, M, Y, ... в тексте замены.

...