如何使用sed命令删除短语后的数字和日期时间



遵循语法之后删除特定短语之后的所有内容:

s/(.*Build ID:.).*/1/g
s/(.*Build Date:.).*/1/g

但是,我需要保护代码的这一部分并删除:

  • 特定短语之后仅8位数字日期时间
  • 仅在特定短语之后的日期时间(Yyyy-MM-DD Space HH:MM:SS(

输入:

Build ID: 14257823
Build Date: 2019-06-27 03:09:33

输出:

Build ID:
Build Date:

要仅剪裁8位和时间戳记,请使用:

s/[0-9]{8}//g s/[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}//g

您可以使用字符类和重复量词。

示例中的构建ID格式是[0-9]{8}(字符类获取所有数字并重复8次(,日期格式为[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}

  • 四位数
  • 连字符
  • 两个数字
  • 连字符
  • 两个数字
  • 空间
  • 两个数字
  • 结肠
  • 两个数字
  • 结肠
  • 两个数字

这给出以下Regexes

s/(.*Build ID:.)[0-9]{8}/1/g
s/(.*Build Date:.)[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}/1/g

最新更新