我得到了下面的输出使用:https://stackoverflow.com/a/40330344
(.issues[] | {key, status: .fields.status.name, assignee: .fields.assignee.emailAddress})
输出:
{
"key": "SEA-739",
"status": "Open",
"assignee": null
}
{
"key": "SEA-738",
"status": "Resolved",
"assignee": "user2@mycompany.com"
}
但是我需要解析每一行,但是很坚韧识别哪个受让人是哪个键的,就键组而言,这可能用jq在一行中做一堆吗?
预期输出:
{ "key": "SEA-739", "status": "Open", "assignee": null }
{ "key": "SEA-738", "status": "Resolved", "assignee": "user2@mycompany.com"}
或
{ "SEA-739", "Open", null }
{ "SEA-738", "Resolved", user2@mycompany.com }
3条答案
按热度按时间qlzsbp2j1#
**
-c
**是您可能需要的使用上面发布的输出,您可以进一步处理它:
给予;
或者你可以改变你原来的命令
从
到
yqkkidmi2#
不完全是对这个问题的长版本的回答,但是对于那些在谷歌上搜索jq的其他单行输出格式的人来说:
产出:
@sh
而不是@tsv
返回:此外,还有其他输出格式可以执行诸如转义输出(如
@html
)或编码输出(如@base64
)等操作。该列表可在 jq(1) 手册页的 Format strings and escaping 部分或在线stedolan.github.io/jq/manual中找到。62lalag43#
在jq 1.6版本中,使用“-c”和“-r”的答案对我不起作用。我所做的如下:
给定输入如
和jq命令,如
我得到的输出是这样的:
我用-c代替-r得到了同样的结果,用-cr也得到了同样的结果。所以我只是把结果做成一个数组,然后用空格连接它们,就像这样:
得到这个: