我使用以下输出:https://stackoverflow.com/a/40330344
Run Code Online (Sandbox Code Playgroud)(.issues[] | {key, status: .fields.status.name, assignee: .fields.assignee.emailAddress})
输出:
Run Code Online (Sandbox Code Playgroud){ "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"}
Run Code Online (Sandbox Code Playgroud)
要么
{ "SEA-739", "Open", null }
{ "SEA-738", "Resolved", user2@mycompany.com }
Run Code Online (Sandbox Code Playgroud)
hme*_*ia1 79
-c
是你可能需要的
使用您在上面发布的输出,您可以进一步处理它:
jq -c . input
给予;
{"key":"SEA-739","status":"Open","assignee":null}
{"key":"SEA-738","status":"Resolved","assignee":"user2@mycompany.com"}
Run Code Online (Sandbox Code Playgroud)
或者您可以只更改原始命令
从
jq -r '(.issues[] | {key, status: .fields.status.name, assignee: .fields.assignee.emailAddress})'
至
jq -c '(.issues[] | {key, status: .fields.status.name, assignee: .fields.assignee.emailAddress})'
bsc*_*ter 21
不完全是对长版问题的回答,但对于那些在谷歌上搜索 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
Run Code Online (Sandbox Code Playgroud)
@sh
而不是@tsv
回报:
'SEA-739' 'Open' null
'SEA-738' 'Resolved' 'user2@mycompany.com'
Run Code Online (Sandbox Code Playgroud)
此外,还有其他输出格式可以执行诸如对输出进行转义(例如@html
)或对其进行编码(如@base64
. 该列表可在jq(1)手册页或在线stedolan.github.io/jq/manual的格式字符串和转义部分中找到。
归档时间: |
|
查看次数: |
25029 次 |
最近记录: |