美文网首页
【sed】sed捕获组

【sed】sed捕获组

作者: Bogon | 来源:发表于2023-04-27 07:40 被阅读0次

    MongoDB文档 中 "createTime" : ISODate("2022-04-21T06:56:57.033Z") 是非标准json字段,如何解释?

    "createTime" : ISODate("2022-04-21T06:56:57.033Z") 是 MongoDB 中的一种特殊数据类型,称为 BSON(Binary JSON),它是一种二进制编码的 JSON 格式。
    BSON 支持比 JSON 更多的数据类型,例如 Date 类型,因此可以使用 ISODate 来表示日期时间。
    ISODate 是 MongoDB 内置的一种日期时间类型,它可以将日期时间表示为 ISO 8601 格式的字符串。
    在 MongoDB 中,可以将 ISODate 存储在文档中,并在查询时进行比较和排序。
    虽然 ISODate 不是标准的 JSON 字段,但它是 MongoDB 中常用的一种数据类型。

    MongoDB文档 中 "createTime" : NumberLong("1676441910831") 是非标准json字段,如何解释?

    "NumberLong"是MongoDB中的一种数据类型,用于存储长整型数据。
    在JSON中,只有数字类型,没有长整型类型,因此MongoDB使用了这种特殊的格式来表示长整型数据。因此,"createTime" : NumberLong("1676441910831")表示"createTime"字段的值是一个长整型数据,其值为1676441910831。

    这种格式在MongoDB文档中很常见,但在标准的JSON格式中是不支持的。

    写一个sed 命令,将json文本中的类似 ISODate("2023-01-05T09:00:00.078Z") 格式内容做处理, 只保留 "2023-01-05T09:00:00.078Z"

    $  sed -i  's/ISODate("\(.*\)")/"\1"/g'   file.json 
    

    sed命令中的正则表达式部分/ISODate("(.*)")/"\1"/g表示匹配所有的ISODate日期格式,并将括号内的内容作为一个捕获组,替换为双引号加上捕获组的内容。

    相关文章

      网友评论

          本文标题:【sed】sed捕获组

          本文链接:https://www.haomeiwen.com/subject/csxmjdtx.html