具有建议格式的当前对象
[
{
"time": "2022-01-28T17:50:31.620Z"
}
]
命令执行,以便从iso8601转换为unix
(“.0-9+Z$”;"Z")从日期‘time_test.json’开始
输出1643392231
我尝试过不同的组合,但是如何更新对象中的时间值。我可以让转换开始工作,但似乎无法用输出更新值。
预期结果-
[
{
"time": "1643392231"
}
]
发布于 2022-02-10 00:08:00
取消小数秒,您就可以使用fromdate
了。若要在regex中转义,请使用双反斜杠。
jq 'map(.time |= (sub("\\.\\d+"; "") | fromdate))'
[
{
"time": 1643392231
}
]
发布于 2022-02-10 02:26:13
您映射了数组中的所有值,但实际上并不是在修改或重新创建数组。
要修改,使用一个赋值:(你已经快到了)
.[].time |= (sub("\\.\\d+Z$"; "Z") | fromdate)
要重建地图就行了。
map(.time |= (sub("\\.\\d+Z$"; "Z") | fromdate))
https://stackoverflow.com/questions/71058266
复制相似问题