从下面的json change_tasks数组中,当key:value与“short_description”完全匹配时,我想只提取key“description”的值:“01.项目审定”。
{
"change_tasks": [{
"active": "true",
"approval": "Not Yet Requested",
"description": "testing",
"short_description": "Test description",
"state": "-5",
"state_description": "Pending",
"sys_class_name": "Change Task",
"sys_created_on": "2023-05-10 15:23:50",
"sys_updated_on": "2023-05-10 15:25:58",
"time_worked": "",
"u_actions_taken_to_prevent_recurrence": "",
"u_createdby_businessappid": ""
},
{
"active": "true",
"approval": "Not Yet Requested",
"description": "value-01, value-02",
"short_description": "01. Project validation",
"state": "-5",
"state_description": "Pending",
"sys_class_name": "Change Task",
"sys_created_on": "2023-05-10 15:21:01",
"sys_updated_on": "2023-05-10 15:25:58",
"time_worked": "",
"u_actions_taken_to_prevent_recurrence": "",
"u_createdby_businessappid": ""
}],
"responseSummary": {
"message": "Search successfully executed",
"code": "200",
"businessUnit": "unit1",
"businessAppId": "123456",
"numRecordsReturned": "2",
"totalRecords": "2",
"hasMore": "false"
}
}
这个查询给出了正确的变更任务的输出,但是我只需要“short_description”为“01”时“description”的值。项目验证”。另外,我想要的更改任务值并不总是[1],它可以是对象列表中的任何值。
$ jq -r .change_tasks[1].short_description test.json
01. Project validation
然后,我需要将逗号分隔的“description”值转换为变量,以便可以在bash中根据另一个值列表检查它们。
2条答案
按热度按时间6ss1mwsb1#
您可以用途:
如果你想把它读入两个变量:
wpcxdonn2#
我最后还是自己整理成这样