Как использовать sed для замены переменной среды

У меня есть следующие строки в файле

$ENVVAR
someText ($ENVVAR)

Я хочу использовать sed так, чтобы только второе происшествие переменной было заменено значением переменной среды

так

$ENVVAR
someText (value of env variable)
4
задан 31 January 2017 в 17:51

1 ответ

Это - случай для немного <забастовка>, ужасная представляют себе заключать в кавычки. Одинарные кавычки останавливают расширения параметра оболочки и двойные кавычки, чтобы позволить им.

можно думать о кавычках как о двухпозиционных переключателях в sed выражение, закрывая один тип заключения в кавычки и открытия другого как это: 'strong'"weak"'strong'

Используя $USER как пример:

$ cat file
$USER
some text ($USER)

$ sed 's/($USER)/('"$USER"')/' file
$USER
some text (zanna)
3
ответ дан 1 December 2019 в 10:01

Другие вопросы по тегам:

Похожие вопросы: