【问题标题】:Escape a path for sed search pattern [duplicate]为sed搜索模式转义路径[重复]
【发布时间】:2012-07-25 10:24:30
【问题描述】:

可能重复:
sed, foward slash in quotes

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

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

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

【问题讨论】:

标签: regex shell unix sed


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-27
    • 1970-01-01
    • 2011-08-16
    • 2011-04-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-16
    • 2015-09-10
    相关资源
    最近更新 更多