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

如何使用yq获取YAML数组元素的父节点?

用yq命令获取YAML中指定元素的父节点

假设你的YAML文件名为data.yaml,内容如下:

foo:
 - element1
 - element2
bar: 
 - element3
 - element4

可以根据你使用的yq版本选择对应命令:

mikefarah/yq(v4+ 主流版本)

执行以下命令即可得到element4的父节点名称:

yq eval 'keys[] as $k | .[$k] | select(.[] == "element4") | $k' data.yaml

命令逻辑:

  • 遍历所有顶层键并暂存为变量$k
  • 取出当前键对应的数组值
  • 筛选出包含element4的数组
  • 输出对应的键名

执行结果:bar

kislyuk/yq(Python 实现版本)

若使用的是基于Python的yq,可运行:

yq -r 'to_entries[] | select(.value[] == "element4") | .key' data.yaml

命令逻辑:

  • 将YAML结构转换为键值对条目
  • 筛选出值数组包含element4的条目
  • 输出该条目的键名

执行结果:bar

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 02:57:35