从下面的json CHANGE_TASKS数组中,当key:Value与"Short_Description":"01.项目验证"完全匹配时,我只想提取键"Description"的值.
{
"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中的另一个值列表对它们进行判断.