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

如何用yq一行写入多个通配符匹配的YAML文件?

批量修改多个YAML文件的.image.tag值

可以用一行命令批量修改所有匹配development-*.yaml的文件,具体命令取决于你使用的yq版本:

1. mikefarah/yq(v4+,主流版本)

直接用通配符配合原地修改参数即可:

yq '.image.tag = "${{ github.sha }}"' -i development-*.yaml

-i表示原地修改文件,通配符会匹配所有符合命名规则的YAML文件,一次性完成批量修改。

2. kislyuk/yq(Python实现版本)

该版本本身不支持直接通过通配符批量处理文件,需要结合xargs实现:

ls development-*.yaml | xargs yq -yi '.image.tag = "${{ github.sha }}"'

通过ls列出所有目标文件,再用xargs把文件名逐个传递给yq完成修改。

注意事项

  • mikefarah/yq v4+版本中eval参数可以省略,直接写表达式即可;
  • 在GitHub Actions环境中,建议安装指定版本的yq,避免版本兼容问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 17:32:05