Json 如何使用jq将字段与通配符匹配?
我有一个JSON对象,其形式如下:Json 如何使用jq将字段与通配符匹配?,json,jq,Json,Jq,我有一个JSON对象,其形式如下: { "Task11c-0-20181209-12:59:30-65611" : { "attributes" : { "configname" : "Task11c", "datetime" : "20181209-12:59:30", "experiment" : "Task11c", "inifile" : "lab1.ini", "iterationvars" : "",
{
"Task11c-0-20181209-12:59:30-65611" : {
"attributes" : {
"configname" : "Task11c",
"datetime" : "20181209-12:59:30",
"experiment" : "Task11c",
"inifile" : "lab1.ini",
"iterationvars" : "",
"iterationvarsf" : "",
"measurement" : "",
"network" : "Manhattan1_1C",
"processid" : "65611",
"repetition" : "0",
"replication" : "#0",
"resultdir" : "results",
"runnumber" : "0",
"seedset" : "0"
},
......
},
......
"Task11b-12-20181209-13:03:17-65612" : {
....
....
},
.......
}
我只报告了第一部分,但一般来说,我有许多其他子对象与字符串匹配,如Task11c-0-20181209-12:59:30-65611
。它们都有共同的首字母Task
。我想从每个子对象中提取processid
。我正在尝试使用bash中的通配符,但似乎不可能
我也读过关于这个函数的内容,但是它可以处理字符串而不是json对象
感谢您的支持。以
Test
开头的筛选键,使用select()
表达式仅获取您选择的属性
jq 'to_entries[] | select(.key|startswith("Task")).value.attributes.processid' json