поиск sed и замена переменным, содержащим наклонную черту

Я пытаюсь заменить строку в текстовом файле с переменной.

Я использую этот код:

sed -i "s/search text \/TAG\//replace text ${variable}/" ${textfile}

Содержание переменной /newTAG/. И содержание переменной является проблемой, больше accuratelyte / вначале и конец.

Когда оба / удалены так, содержание только newTAG все хорошо работает.

Я уже попробовал следующее

sed -i "s/search text \/TAG\//replace text "${variable}"/" ${textfile}
sed -i 's/search text \/TAG\//replace text "${variable}"/' ${textfile}

Кто-либо может помочь мне?Спасибо

6
задан 10 May 2017 в 10:49

1 ответ

Используйте что-то другое, чем / как разделитель для regex (например, двоеточие :):

sed -i "s:search text /TAG/:replace text ${variable}:" "${textfile}"

Или Escape / в переменной.

9
ответ дан 23 November 2019 в 07:33

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

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