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

使用yq筛选YAML中persistence为true的应用条目失败求助

解决yq筛选YAML中persistence为true的条目无结果的问题

你的命令有两个关键问题导致没有返回结果:

  1. 结构路径错误:使用to_entries后,applications下的每个应用条目被转换成了包含key(应用名)和value(应用配置)的对象,persistence字段在.value层级下,而非直接的.persistence。
  2. 类型不匹配:YAML中的true是布尔类型,而你的命令里用了字符串"true"进行匹配,两者类型不一致,所以筛选不到目标条目。

正确命令(推荐)

如果想要保留原YAML的键值结构(直接输出a和c的完整配置),使用with_entries更简洁:
yq '.applications | with_entries(select(.value.persistence == true))' manifest.yml

基于你原命令的修正版本

如果坚持用to_entries的思路,需要调整路径并修正类型匹配,最后用from_entries还原为原结构:
yq '.applications | to_entries | map(select(.value.persistence == true)) | from_entries' manifest.yml

执行结果

上述命令都会输出你期望的内容:

a:
  enabled: true
  project: ../../../aproj
  version: v1.0.1
  persistence: true
c:
  enabled: true
  project: ../../../cproj
  version: v1.0.1
  persistence: true

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 04:40:25