如果没有秒,是否可以将秒添加到时间戳中?

时间:2019-02-13 21:04:01

标签: regex sed aix

我有一个贯穿地图的数据文件。字段之一读取日期/时间戳。该地图设置为读取MM / DD / YYYY HH:MM:SS,并且在大多数情况下都有效。有时,时间格式不正确,也没有提供:SS。

更正数据: ,1/11/2019 13:53:46,

不正确的数据: ,1/16/2019 11:27,

这是一个旧的AIX 5.3框。我尝试了一些sed命令和一些awk命令,但没有取得任何成功。

 sed 's/[0-9][0-9]:[0-9][0-9],/[0-9][0-9]:[0-9][0-9]:00,/g' 

我需要看看 ,1/16/2019 11:27:00,

但是我越来越 ,1/16/2019 [0-9] [0-9]:[0-9] [0-9]:00,

1 个答案:

答案 0 :(得分:1)

您可以使用

sed 's/\( [0-9][0-9]:[0-9][0-9]\),/\1:00,/g'

模式匹配:

  • \( [0-9][0-9]:[0-9][0-9]\)-捕获组1(该值在替换模式中用\1引用):
    • -空格
    • [0-9][0-9]-两位数字
    • :-冒号
    • [0-9][0-9]-两位数字
  • ,-逗号

请参阅此POSIX BRE regex online demo