Use algo diferente de /
como delimitador da regex (por exemplo, os dois pontos :
):
sed -i "s:search text /TAG/:replace text ${variable}:" "${textfile}"
Ou escape do /
na variável.
Estou tentando substituir uma string dentro de um arquivo de texto por uma variável.
Estou usando este código:
sed -i "s/search text \/TAG\//replace text ${variable}/" ${textfile}
O conteúdo da variável é /newTAG/
. E o conteúdo da variável é o problema, mais exatamente o /
no início e no final.
Quando ambos os /
são removidos, o conteúdo é apenas newTAG
, tudo funciona bem.
Eu já tentei o seguinte
sed -i "s/search text \/TAG\//replace text "${variable}"/" ${textfile}
sed -i 's/search text \/TAG\//replace text "${variable}"/' ${textfile}
Alguém pode me ajudar? Obrigado
Use algo diferente de /
como delimitador da regex (por exemplo, os dois pontos :
):
sed -i "s:search text /TAG/:replace text ${variable}:" "${textfile}"
Ou escape do /
na variável.
Tags command-line bash sed