【问题标题】:Replace <space>[ using sed替换 <space>[ 使用 sed
【发布时间】:2016-08-12 14:34:14
【问题描述】:

我在用| 替换[ 时遇到一个奇怪的错误。请注意[ 之前有一个空格。右括号没有同样的问题。

# sed -i 's/ ]/|/g' test.txt -->Working
# sed -i 's/ [/|/g' test.txt --> Not Working
sed: -e expression #1, char 8: unterminated `s' command

有什么建议吗?

【问题讨论】:

  • 只是转义括号? sed -i 's/ \[/|/g'?
  • @krork 您必须在 cmets 中使用反引号来突出显示代码。

标签: linux shell replace sed substitution


【解决方案1】:

Sed 要求您关闭方括号,这是一个特殊字符(开始一个字符类 - 参见 here[list] 示例)。如果你想从字面上使用它,你必须把它转义:

sed -i 's/ \[/|/g' test.txt

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-22
    • 2017-03-19
    • 2013-05-30
    • 1970-01-01
    • 2022-01-19
    • 2022-01-10
    • 2020-02-02
    相关资源
    最近更新 更多