【发布时间】:2021-04-26 06:05:14
【问题描述】:
输入json:
[
{
"login": "u1",
"name": "u1",
"role": "User",
"groups": [
{
"id": "1234",
"name": "G1"
},
{
"id": "1235",
"name": "G2"
}
],
"created": "2020-05-11 11:06"
},
{
"login": "u2",
"name": "u2",
"role": "User",
"groups": null,
"created": "2020-05-11 11:06"
}
]
我使用以下过滤器来获取他们所属的用户和组:
$ jq -r '
.[]
| [.login,
.name,
( if .groups == null
then "grp:-"
else (del(.groups[]
| select(.name=="All Users"))
| [.groups[].name] | join("|"))
end )]
| @tsv' json
u1 u1 G1|G2
u2 u2 grp:-
如何为每个找到的组添加grp: 前缀?
预期输出为:
u1 u1 grp:G1|grp:G2
u2 u2 grp:-
【问题讨论】:
标签: arrays json export-to-csv jq