Regex 转义sed搜索模式的路径

Regex 转义sed搜索模式的路径,regex,shell,unix,sed,Regex,Shell,Unix,Sed,可能重复: 在bash脚本中,我有一个路径字符串,应该在sed模式中使用 SRC_PATH="$PWD" sed "s/<SRC_PATH>/$SRC_PATH/g" template.sh > replaced.sh SRC_PATH=“$PWD” sed“s/$SRC_PATH/g”template.sh>replaced.sh 如何转义$SRC\u PATH字符串,以便sed安全地接受它作为文本替换?使用s%$OLDPATH%$NEWPATH%。您可以选择您的分隔符

可能重复:

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

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

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

使用
s%$OLDPATH%$NEWPATH%
。您可以选择您的分隔符。如果<代码> %>代码>太危险,请考虑“控件A”。

< P>使用<代码> %%OLDPATH %$NeXPATH %。您可以选择您的分隔符。如果<代码> %>代码>太危险,请考虑“控制-A”。

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

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

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

您不需要转义它。只需使用其他分隔符:

sed "s@<SRC_PATH>@$SRC_PATH@g" template.sh > replaced.sh
sed“s@@@SRC_PATH@g“template.sh>replaced.sh
但您必须确保SRC_路径不包含
@
(或其他符号,如果您选择它)。

有关gnu sed,请参阅有关gnu sed,请参阅