Выход из литеральной строки для sed

Как может выйти из литеральной строки #!/bin/bash в sed выражении? Curently у меня есть команда в сценарии удара формы

sed 's/Parametersettings:/HERE/g' outpad1 > outpad2

Я хотел бы, чтобы завершенная замена пошла, где ЗДЕСЬ записан в вышеупомянутом.

Я попробовал все виды / \и $variables без удачи до сих пор.

0
задан 16 August 2018 в 06:51

2 ответа

$ echo 'Parametersettings:' | sed 's/Parametersettings:/#!\/bin\/bash/g'
#!/bin/bash

или используйте другой разделитель, избегая потребности выйти / персонажи:

$ echo 'Parametersettings:' | sed 's%Parametersettings:%#!/bin/bash%g'
#!/bin/bash
2
ответ дан 28 October 2019 в 03:40

Путем заключения в кавычки строки с одинарными кавычками ("''"), Вы ПРЕДОТВРАЩАЕТЕ интерполяцию оболочкой. Используйте двойные кавычки ("") и оболочка заменит переменными и т.д.

sed "s/Parametersettings:/$HERE/g" outpad1 > outpad2
2
ответ дан 28 October 2019 в 03:40

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

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