【发布时间】:2021-11-18 14:41:34
【问题描述】:
我有 json:
"spec": {
"background": true,
"failurePolicy": "Fail",
"rules": [
{
"exclude": {
"resources": {}
},
"generate": {
"clone": {}
},
"match": {
"resources": {
"kinds": [
"networking.k8s.io/v1/NetworkPolicy"
]
}
},
"mutate": {},
"name": "validate-nodeport",
"validate": {
"message": "Services of type NodePort are not allowed.",
"pattern": {
"spec": {
"type": "!NodePort"
}
}
}
}
],
"validationFailureAction": "audit"
},
"status": {
"ready": true
}
}
我需要解析这个字符串"networking.k8s.io/v1/NetworkPolicy",但它可能看起来像Kind 或Version/Kind 或Version/Group/Kind。我的 jq 命令仅适用于 Kind 案例:.spec.rules[0].match.resources.kinds[] as $kind
我需要更通用的命令来将字符串拆分为“/”,但在某些情况下可能有一个“/”,在某些情况下可能有两个。我需要正确解析它并编写带有条件的命令
【问题讨论】:
标签: jq