gpt4 book ai didi

yq - yq版本4如何添加列表项

转载 作者:行者123 更新时间:2023-12-05 04:46:40 66 4
gpt4 key购买 nike

我正在将脚本从 yq 3 迁移到 yq 4,但无法正常运行。

我有以下 YAML 并想在 targetNamespaces 之后添加一个列表项:

apiVersion: operators.coreos.com/v1
kind: OperatorGroup
metadata:
name: businessautomation-operator
namespace: rhpam-user1
spec:
targetNamespaces:

所以输出应该是:

apiVersion: operators.coreos.com/v1
kind: OperatorGroup
metadata:
name: businessautomation-operator
namespace: rhpam-user1
spec:
targetNamespaces:
- rhpam-user1

此命令用于更改命名空间:

yq eval '.metadata.namespace = "rhpam-user1"' -i ./file.yaml

当我运行以下命令时出现错误:

yq eval '.spec.targetNamespaces[+] = "rhpam-user1"'  -i ./file.yaml 

Error: '' expects 2 args but there is 1

我似乎无法正确使用新的 yq 命令结构...

最佳答案

如果targetNamespaces打算用作数组类型,则需要将目标字符串括在[..]中,使用+= 如下(在版本 4.11.2 上测试)

yq e '.spec.targetNamespaces += [ "rhpam-user1" ]' yaml

参见 mikefarah/yq - Relative append

关于yq - yq版本4如何添加列表项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68753205/

66 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com