You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Mike Farah版yq修改指定Kustomization类型YAML的spec.path

解决方法

针对你的需求,用Mike Farah版本的yq可以这样实现:

基础替换命令(终端预览结果)

假设你要把路径前缀改成./new-worker/,执行下面的命令:

yq e '(.[] | select(.kind == "Kustomization") | .spec.path) |= sub("./worker-1/", "./new-worker/")' your-file.yaml

命令拆解(新手友好版)

  • .[]:遍历YAML文件中所有用---分隔的独立文档
  • select(.kind == "Kustomization"):只筛选出kind为Kustomization的文档
  • .spec.path:定位到这些文档里的spec.path字段
  • |= sub(...):对字段值执行字符串替换,把./worker-1/替换成你指定的新前缀

直接修改原文件(无需预览)

如果确认替换规则正确,想直接修改原文件,加上-i参数(原地编辑):

yq -i e '(.[] | select(.kind == "Kustomization") | .spec.path) |= sub("./worker-1/", "./new-worker/")' your-file.yaml

验证效果

执行后,原文件中两个Kustomization对象的spec.path会变成:

  • ./new-worker/resources
  • ./new-worker/dependencies
    其余的Bucket和Secret内容完全保持不变。

内容的提问来源于stack exchange,提问作者Joseph Gagnon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 08:42:41