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

使用yq从嵌套YAML生成指定键值对的方法求助

使用mikefarah/yq 4.27.5提取带有description的二级节点

直接用这条命令就能得到你想要的结果:

yq eval '(.[] | to_entries) | flatten | select(.value.description) | map({(.key): .value.description}) | add' input.yaml

命令分解:

  • (.[] | to_entries):将每个一级节点(A1、A2)转换为键值对数组,把二级节点(B1、B2等)拆成{key: "Bx", value: {...}}的格式
  • flatten:把所有一级节点的键值数组合并成一个统一的列表,方便后续处理
  • select(.value.description):过滤掉value中没有description字段的项(无description时.value.description为null,会被自动排除)
  • map({(.key): .value.description}):将每个符合条件的项转换为{Bx: "对应的description值"}的单键对象
  • add:把所有单键对象合并成一个完整的YAML对象,就是最终需要的结构

测试后输出结果与你的需求完全一致:

B1: "B1 field"
B2: "B2 field"
B4: "B4 field"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 02:45:37