我得到了Json输入数据,我需要重新格式化从unix-time到ISO 8601的时间戳(以后处理文件)。 我试图通过使用: <input.json jq .[2].timestamp |= jq todate >output.json
这是以正确的方式重新格式化时间戳,但是如何将重新格式化的时间戳恢复到原始文件?我的目标是获取包含所有信息的原始文件,但重新格式化时间戳。重新格式化从unix到iso的时间戳
它的工作原理是我想在https://jqplay.org/,但不是在命令行。 我感谢您的帮助!
样品输入:
[
{
"channelId": 9088,
"errorCode": 0,
"value": 0,
"timestamp": 1460258309
},
{
"channelId": 10087,
"errorCode": 0,
"value": 1000,
"timestamp": 1460258294
},
{
"channelId": 10086,
"errorCode": 0,
"value": 90,
"timestamp": 1460258294
},
{
"errorCode": 0,
"errorLine": ""
}
]
通缉输出:
[
{
"channelId": 9088,
"errorCode": 0,
"value": 0,
"timestamp": 2016-04-10T03:18:14Z
},
{
"channelId": 10087,
"errorCode": 0,
"value": 1000,
"timestamp": 2016-04-10T03:18:14Z
},
{
"channelId": 10086,
"errorCode": 0,
"value": 90,
"timestamp": 2016-04-10T03:18:14Z
},
{
"errorCode": 0,
"errorLine": ""
}
]
你能提供一个样本输入和预期的输出?另外,你可能的意思是做'jq'。[2] .timestamp | = todate'',也就是用单引号并且不需要额外的jq调用。 –
增加了输入和预期输出。如果我跳过第二个'jq'cmd,我会得到命令拼写错误或无法找到的错误。这个问题是否有一个通用的解决方案?我总是遇到这个问题,当我尝试使用'|'时 –