【问题标题】:sed and replace string by a $variable [duplicate]sed 并用 $variable 替换字符串 [重复]
【发布时间】:2012-03-08 22:04:47
【问题描述】:

我有一个小问题。

我尝试用文件中的 $variable 替换字符串(以及一行)。

所以我使用命令:

sed -i -e "s/conf .*/conf = $PATH_CONF/g" generals.conf

如果 PATH_CONF 不包含“/”之类的特殊字符,则它正在工作。

但是PATH_CONF包含一个路径(/home/etc.)所以它有几个“/”,然后我得到一个错误:

 bad flag in substitute command: 'h' 

那么我该怎么做才能在我的 $variable 中包含特殊字符?

谢谢。

【问题讨论】:

    标签: bash sed


    【解决方案1】:

    试试:

    sed -i -e "s@conf .*@conf = $PATH_CONF@g" generals.conf
    

    您需要相同的字符作为分隔符(此处为 @),而不是三个 /s。

    【讨论】:

    • 哇好,不知道这个。
    • 非常感谢,也不知道
    猜你喜欢
    • 2019-10-14
    • 2014-09-17
    • 1970-01-01
    • 2020-07-28
    • 2020-03-13
    • 1970-01-01
    • 1970-01-01
    • 2015-04-18
    • 2019-12-03
    相关资源
    最近更新 更多