修改YAML以使用yq在元数据中的每个条目下包含标签

修改YAML以使用yq在元数据中的每个条目下包含标签,yaml,yq,Yaml,Yq,我有一个如下所示的yaml文件。此yaml文件需要在每个configmap下使用新标签进行修补 apiVersion: v1 kind: ConfigMapList items: - apiVersion: v1 data: test: 1 kind: ConfigMap metadata: name: grafana-dashboard-apiserver1 namespace: monitoring - apiVers

我有一个如下所示的yaml文件。此yaml文件需要在每个configmap下使用新标签进行修补

apiVersion: v1
kind: ConfigMapList
items:
  - apiVersion: v1
    data:
      test: 1
    kind: ConfigMap
    metadata:
      name: grafana-dashboard-apiserver1
      namespace: monitoring   
  - apiVersion: v1
    data:
      test: 2
    kind: ConfigMap
    metadata:
      name: grafana-dashboard-apiserver2
      namespace: monitoring   
  - apiVersion: v1
    data:
      test: 3
    kind: ConfigMap
    metadata:
      name: grafana-dashboard-apiserver3
      namespace: monitoring    
我想在此configmaplist中的每个configmap下插入标签,如下所示

apiVersion: v1
kind: ConfigMapList
items:
  - apiVersion: v1
    data:
      test: 1
    kind: ConfigMap
    metadata:
      name: grafana-dashboard-apiserver1
      namespace: monitoring
      labels:
        grafana_dashboard: "1"   
  - apiVersion: v1
    data:
      test: 2
    kind: ConfigMap
    metadata:
      name: grafana-dashboard-apiserver2
      namespace: monitoring   
      labels:
        grafana_dashboard: "1" 
  - apiVersion: v1
    data:
      test: 3
    kind: ConfigMap
    metadata:
      name: grafana-dashboard-apiserver3
      namespace: monitoring    
      labels:
        grafana_dashboard: "1" 
我不知道如何在bash中执行此操作。请帮助我如何执行此bash。yq有帮助吗?或Kustomize?

如果正在使用,则可以使用以下路径表达式在

yq w yaml'项[*].元数据.标签.grafana_仪表板'--tag'!!str'1

如果生成的YAML输出符合预期,您可以使用
-i
标志,即
yq w-i'..

您使用的是哪个版本的
yq
?jq上的包装器还是Go版本?
yq--version
@Inian.的后期输出。它是yq版本3.3.0