【问题标题】:remove backslash only from quote character using sed使用 sed 仅从引号字符中删除反斜杠
【发布时间】:2021-05-13 07:53:52
【问题描述】:

我有字符串:this is a [\"sample\"] sample\'s.

从双引号中删除反斜杠并保留双引号的正确方法是什么。

预期输出:this is a ["sample"] sample\'s.

我已经测试过:sed -i 's/\\\"//g' file.txt 正在删除 "

【问题讨论】:

    标签: linux unix sed


    【解决方案1】:

    您的命令几乎是正确的。你只是忘了用双引号代替:

    sed -i 's/\\"/"/g' file.txt
    

    seds command 将第一部分(此处为/ 之间)替换为第二部分。 g 标志在整行中重复该操作。你的错误是第二部分是空的,因此有效地删除了整个\" 字符串。

    顺便说一句,由于您的 sed 命令在单引号内,因此不需要转义双引号。

    【讨论】:

    • 所以为了打破它,正则表达式正在搜索 \" 并将其替换为 "?
    • 是的,完全正确。您是否需要有关s 命令工作原理的更多详细信息?
    • 确定是否要提供参考。感谢您的帮助!
    猜你喜欢
    • 2022-01-11
    • 1970-01-01
    • 2022-11-13
    • 2015-03-28
    • 2018-12-10
    • 1970-01-01
    相关资源
    最近更新 更多