我想在这里使用 jq 去掉 timestamp
字段JSON 处理器。
[
{
"timestamp": 1448369447295,
"group": "employees",
"uid": "elgalu"
},
{
"timestamp": 1448369447296,
"group": "employees",
"uid": "mike"
},
{
"timestamp": 1448369786667,
"group": "services",
"uid": "pacts"
}
]
白名单也适用于我,即 select uid, group
最终,我真正想要的是一个具有唯一值的列表,如下所示:
employees,elgalu
employees,mike
services,pacts
最佳答案
如果你只是想删除时间戳,你可以使用 del()
函数:
jq 'del(.[].timestamp)' input.json
但是,为了获得所需的输出,我不会使用 del()
函数。由于您知道哪些字段应该出现在输出中,您可以简单地使用 group
和 id
填充一个数组,然后使用 join()
函数:
jq -r '.[]|[.group,.uid]|join(",")' input.json
-r
代表原始输出。 jq
不会在值周围打印引号。
输出:
employees,elgalu
employees,mike
services,pacts
关于json - 从 jq json 输出中排除列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33895076/