web-dev-qa-db-ja.com

1行で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": "[email protected]"
 }

しかし、すべての行を解析する必要がありますが、キーグループに関する限り、どのキーがどの担当者であるかを特定するのは困難です。これはjqを使用して1つの行に1つの束を作ることは可能ですか?

期待される出力:

{ "key": "SEA-739", "status": "Open", "assignee": null }
{ "key": "SEA-738", "status": "Resolved", "assignee": "[email protected]"}

OR

{ "SEA-739", "Open", null }
{ "SEA-738", "Resolved", [email protected] }
34
Jitesh Sojitra

-cはおそらく必要なものです

上記で投稿した出力を使用して、さらに処理できます。

 jq -c。入力

与えるために;

{"key":"SEA-739","status":"Open","assignee":null}
{"key":"SEA-738","status":"Resolved","assignee":"[email protected]"}

または、元のコマンドを変更することもできます

[〜#〜] from [〜#〜]

 jq -r '(.issues [] | {key、status:.fields.status.name、assignee:.fields.assignee.emailAddress})' 

[〜#〜] to [〜#〜]

jq -c '(.issues [] | {key、status:.fields.status.name、assignee:.fields.assignee.emailAddress})' 
70
hmedia1