【问题标题】:Replacing text with blanks OSX Sed [duplicate]用空格替换文本OSX Sed [重复]
【发布时间】:2021-03-16 04:03:17
【问题描述】:

我的文件每行有 2 个时间戳。我想使用 sed 删除每一行中的 +0800。我尝试了以下标记为“使用的命令”的命令

Example input    
2020-11-17 08:50:42.614276+0800 2020-11-17 08:50:42.000000+0800

Command used
sed -E 's/\+\d{4}//g'

Actual Output (same as input)
2020-11-17 08:50:42.614276+0800 2020-11-17 08:50:42.000000+0800

Expected Output
2020-11-17 08:50:42.614276 2020-11-17 08:50:42.000000

【问题讨论】:

    标签: bash sed


    【解决方案1】:

    使用

    sed -E 's/\+[0-9]{4}//g'
    

    sed -E 's/\+[[:digit:]]{4}//g'
    

    相反,sed 无法识别 \d

    【讨论】:

    • 谢谢!它甚至没有抛出错误,所以我认为没问题。那么正则表达式是否会一直在模式空间中搜索“\d”
    • 您可以验证grep -E '\+\d{4}' 工作
    猜你喜欢
    • 2018-05-29
    • 2014-11-27
    • 2020-01-19
    • 1970-01-01
    • 1970-01-01
    • 2013-11-01
    • 2014-06-22
    • 2013-02-20
    • 2014-12-22
    相关资源
    最近更新 更多