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

如何使用yq修改所有匹配指定模式的键对应的值?

使用yq批量修改以field结尾的键值为false

针对你提供的YAML文件,想要把所有键名以field结尾的字段值改为false,可以使用mikefarah/yq(目前主流的yq版本)执行以下命令:

yq '(.. | select(key | test("field$"))) = false' input.yaml

命令说明:

  • ..:递归遍历YAML结构的所有层级节点,确保不会漏掉嵌套的字段
  • select(key | test("field$")):用正则表达式field$匹配所有以field结尾的键名,筛选出对应的节点
  • = false:将筛选出的所有节点的值统一设置为false

原始YAML(input.yaml):

part1:
  name: tom
  some_field: true
part2:
  name: jerry
  other_field: true

执行命令后输出的YAML:

part1:
  name: tom
  some_field: false
part2:
  name: jerry
  other_field: false

如果需要直接覆盖原文件,可添加-i参数:

yq -i '(.. | select(key | test("field$"))) = false' input.yaml

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 14:49:49