Проблема с цитированием и седом - PullRequest
1 голос
/ 21 сентября 2011

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

sed -i 's/$VAR some.file/"$VAR" some.file/g' path/to/file

К сожалению, результат не ожидается.Я также попытался сделать обратную цитату без удачи.Что мне здесь не хватает?

Команда sed выполняется под Windows / cygwin.

1 Ответ

2 голосов
/ 21 сентября 2011

Вам не хватает того факта, что одинарные кавычки предотвращают подстановку переменных:

sed -i "s/$VAR some.file/\"$VAR\" some.file/g" path/to/file

или даже

sed -i $(printf 's/%s some.file/"%s" some.file/g' "$VAR" "$VAR") path/to/file
...