在一行中获取 jq 的输出

我得到以下输出使用: 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 }
107367 次浏览

-c 是你可能需要的

使用你上面发布的输出,你可以进一步处理它:

输入

给予;

{"key":"SEA-739","status":"Open","assignee":null}
{"key":"SEA-738","status":"Resolved","assignee":"user2@mycompany.com"}

或者你可以改变你原来的命令

来自

Jq R’(. issues [] | { key,status: .  fields.status.name  ,assignee: . fields.assignee.emailAddress })’

Jq C’(. issues [] | { key,status: .  fields.status.name  ,assignee: . fields.assignee.emailAddress })’

这个问题的答案并不是很长,但对于那些在谷歌上搜索 jq 的其他单行输出格式的人来说是这样的:

$ jq -r '[.key, .status, .assignee]|@tsv' <<<'
{
"key": "SEA-739",
"status": "Open",
"assignee": null
}
{
"key": "SEA-738",
"status": "Resolved",
"assignee": "user2@mycompany.com"
}'

产出:

SEA-739 Open
SEA-738 Resolved        user2@mycompany.com

返回值为 @sh而非 @tsv:

'SEA-739' 'Open' null
'SEA-738' 'Resolved' 'user2@mycompany.com'

此外,还有其他输出格式可以执行转义输出(如 @html)或编码输出(如 @base64)等操作。该列表可在 Jq (1)手册页的 格式化字符串和转义部分或在 Stedolan.github.io/jq/manual上联机获得。