【问题标题】:Keep special character in sed在 sed 中保留特殊字符
【发布时间】:2013-06-10 07:53:39
【问题描述】:

我正在尝试在 sed 中传递一个包含特殊字符的字符串。

如何转义“$”字符?

echo "$azerty$" | sed 's///g' 

【问题讨论】:

  • 首先你应该检查你的shell是否真的在回显$azerty$而不是试图扩展azerty变量。

标签: shell sed escaping special-characters


【解决方案1】:
$ echo "\$azerty$" | sed 's/\$/X/g'
XazertyX

【讨论】:

    【解决方案2】:

    这对我有用(使用 GNU sed)

    % echo "\$azerty\$" | sed -r -e 's/\$//g'
    azerty
    

    【讨论】:

      【解决方案3】:

      如果要禁用变量插值,请使用单引号:

      $ echo '$azerty$' | sed 's/\$/X/g'
      XazertyX
      

      【讨论】:

        猜你喜欢
        • 2011-05-08
        • 1970-01-01
        • 1970-01-01
        • 2020-09-17
        • 2011-05-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多