我有一个json
文件,如下所示:
{
"Resources": {
"NodeLaunchConfig123456789": {
...
}
}
}
如何使用NodeLaunchConfig123456789
和jq
等正则表达式选择属性NodeLaunchConfig\w+
?
答案 0 :(得分:2)
以下是使用with_entries
和match
的解决方案。
def condition:
.key|match("NodeLaunchConfig[a-zA-Z0-9_]+")
;
{
Resources: .Resources | with_entries(select(condition))
}
如果您不想将条件分解为单独的函数,可以使用
{
Resources: .Resources | with_entries(select(.key|match("NodeLaunchConfig[a-zA-Z0-9_]+")))
}
根据您的实际数据,只需将更新分配|=
缩短为以下内容即可缩短:
.Resources |= with_entries(select(.key|match("NodeLaunchConfig[a-zA-Z0-9_]+")))