J'essaie de remplacer une chaîne dans un fichier texte par une variable.
J'utilise ce code:
sed -i "s/search text \/TAG\//replace text ${variable}/" ${textfile}
Le contenu de la variable est /newTAG/
. Et le contenu de la variable est le problème, plus précisément le /
au début et à la fin.
Lorsque les deux /
sont supprimés, le contenu est uniquement newTAG
tout fonctionne correctement.
J'ai déjà essayé le suivant
sed -i "s/search text \/TAG\//replace text "${variable}"/" ${textfile}
sed -i 's/search text \/TAG\//replace text "${variable}"/' ${textfile}
Quelqu'un peut-il m'aider? Merci
Utilisez autre chose que /
comme délimiteur pour l'expression rationnelle (par exemple, les deux points :
):
sed -i "s:search text /TAG/:replace text ${variable}:" "${textfile}"
Ou échapper au /
dans la variable.