逃离sed搜索模式的路径

cae*_*cae 1 regex unix shell sed

可能重复:
sed,引号中的斜线

在我的bash脚本中,我有一个路径字符串,我应该在sed模式中使用它.

SRC_PATH="$PWD"
sed "s/<SRC_PATH>/$SRC_PATH/g" template.sh > replaced.sh
Run Code Online (Sandbox Code Playgroud)

如何逃避$SRC_PATH字符串,以便sed作为文字替代品安全地接受它?

Igo*_*bin 5

你无需逃避它.只需使用其他分隔符:

sed "s@<SRC_PATH>@$SRC_PATH@g" template.sh > replaced.sh
Run Code Online (Sandbox Code Playgroud)

但是你必须确保SRC_PATH不包含@(或者如果你选择其他符号).