1

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

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

SRC_PATH="$PWD"
sed "s/<SRC_PATH>/$SRC_PATH/g" template.sh > replaced.sh

如何转义$SRC_PATH字符串,以便 sed 安全地接受它作为文字替换?

4

2 回答 2

5

你不必逃避它。只需使用其他分隔符:

sed "s@<SRC_PATH>@$SRC_PATH@g" template.sh > replaced.sh

但是您必须确保 SRC_PATH 不包含@(或其他符号,如果您选择它)。

于 2012-07-26T18:52:37.033 回答
0

使用s%$OLDPATH%$NEWPATH%. 您可以选择分隔符。如果%太危险,请考虑Control-A

于 2012-07-26T18:52:03.110 回答