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

使用yq修改YAML文件添加数组失败,求正确实现逻辑

问题分析与解决方案

当前使用的脚本逻辑不正确,存在以下问题:

  • 字段类型错误:你通过{"orgs":"[]"}设置的是字符串类型的"[]",而非YAML要求的空数组类型[],不符合预期格式。
  • 未原地修改文件:默认情况下yq仅将处理结果输出到控制台,不会直接修改test.yml,必须添加-i参数才能实现原地编辑。
  • 命令冗余:无需分四次执行命令,一次操作即可完成所有目标字段的添加。

正确的yq命令(适用于mikefarah/yq v4+)

写法一:直接指定节点添加字段

yq -i '.visibility.subscribe += {"tags": [], "orgs": []} | .visibility.view += {"tags": [], "orgs": []}' test.yml

写法二:遍历所有子节点批量添加(更简洁)

yq -i '.visibility[] += {"tags": [], "orgs": []}' test.yml

执行上述命令后,test.yml会被修改为你期望的格式:

visibility:
  subscribe:
    enabled: true
    type: authenticated
    tags: []
    orgs: []
  view:
    enabled: true
    type: public
    tags: []
    orgs: []

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 18:05:34