【问题标题】:Match amd replace 'http://*' with sed匹配并用 sed 替换 'http://*'
【发布时间】:2022-01-18 14:14:09
【问题描述】:

我有一个包含多个通配符的文本。我要删除http://*

我试过sed -i '/http://*/d' file,反向grep,但*是????,

谁能帮忙。谢谢。

【问题讨论】:

    标签: linux bash sed grep


    【解决方案1】:

    你需要使用

    sed -i 's~http://\*~~g' file
    sed -i 's~https\{0,1\}://\*~~g' file
    

    这里:

    • -i - 内联修改文件
    • s - 定义 substitution 命令
    • ~ 用作正则表达式分隔符字符(以避免在模式中转义 / 字符)
    • http:// 匹配文字字符串
    • \* 匹配 * 字符(它需要转义,因为它是一个特殊的正则表达式元字符)
    • g - global 标志,用于删除每行的多个匹配项。

    在第二个命令中,s\{0,1\} 匹配协议模式部分中的可选s

    【讨论】:

    • 谢谢!专门用于分解命令。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-11
    • 1970-01-01
    • 2012-06-09
    • 2017-03-20
    • 2013-06-01
    相关资源
    最近更新 更多