使用sed替换包含反斜杠的字符串

时间:2013-06-21 17:53:38

标签: bash sed

我想用一个字符串$ service替换一个变量SERVICE,它包含一个使用sed的反斜杠。我做了以下

sed "s/SERVICE/`printf '%q' "${service}"`/g"

使用此我将替换字符串作为

b_a^c_b_\]Wdd[]X\[X\[W206C?2@,.\\,A@2AW!w6"|

我想要的地方

b_a^c_b_\]Wdd[]X\[X\[W206C?2@,.\,A@2AW!w6"|

还有其他办法吗? PS(字符串$ service有许多不同的特殊字符)

1 个答案:

答案 0 :(得分:3)

您可能根本不使用,而只是使用来代替:{/ p>

while read -r; do
    echo "${REPLY//SERVICE/$service}"
done