- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下 yaml,我想替换命令字段
有
apiVersion: batch/v1
kind: Job
metadata:
name: test004
spec:
template:
spec:
containers:
- name: "eee"
image: "test"
command: ["a", "b", "c"]
想要
apiVersion: batch/v1
kind: Job
metadata:
name: test004
spec:
template:
spec:
containers:
- name: "eee"
image: "test"
command: ["a", "b", "c", "d"]
yq -i n --style myfile.yaml 'spec.template.spec.containers[0].command' "["a", "b", "c","d"]"
有没有办法用 yq 来实现这一点,我尝试使用样式但没有成功,如果我将其更改为简单字符串,它可以工作,但当我想传递完整数组时则不行,知道吗?
最佳答案
您可以使用字段[+]
表示法append fields in yq v3 。所以你的命令结果是
yq --style double w -i myfile.yaml 'spec.template.spec.containers[0].command[+]' "c"
上述命令将条目“c”
附加到数组中。
或者,如果您想更新整个数组命令
,您可以在 v4 中执行。请注意,这会在单独的行中创建数组条目,而不是OP中显示的行。请参阅YAML Multi-Line Arrays
yq e '.spec.template.spec.containers[0].command |= ["a", "b", "c","d"] | ..style="double"' yaml
请注意,yq v4 已经存在并且支持更强大的路径表达式和操作。请参阅Upgrading from v3获取说明
关于yaml - 使用 yq 更新 yaml 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66138474/
我正在寻求有关使用“yq”按名称替换/添加现有数组元素的帮助。也是有条件的?感谢您在这方面的帮助。 到目前为止,我已经尝试了以下方法......但这只是合并,当我在更新后重新运行它时,我得到了重复项。
我正在将脚本从 yq 3 迁移到 yq 4,但无法正常运行。 我有以下 YAML 并想在 targetNamespaces 之后添加一个列表项: apiVersion: operators.coreo
我正在探索 yq 以修改我的 YAML,我想在 name == openshift45 的 ImageStream 的 spec 下添加一个新元素 apiVersion: v1 items: - ap
目前我正在尝试使用 mikefarah/yq 在 YAML 文件中交换一个字符串但带有双引号处理器(Ubuntu 机器上的 3.1.2 版)类似于以下内容: config: app: na
我有一个简单的 values.yaml 文件,其中包含以下数据: images: tags: one: abc:v0.3-16-07 two: xyz:ng-0.23.0
我正在使用 yq (类似于 jq 但用于 yaml 文件)。我的目标是做到以下几点。我有一个看起来类似于的证书文件 -------BEGIN CERTIFICATE------- asdoqijepo
我有一个 YAML 文件(在我的例子中是 docker-compose 文件),如下所示: networks: foo: some_opts: "covfefe" bar:
我有一个如下所示的 yaml 文件: apiVersion: v1 entries: blue-green-toggle: - description: Used to toggle an a
这里Edit yaml objects in array with yq. Speed up Terminalizer's terminal cast (record)我问了如何用 yq 编辑 yam
我在YML中有以下结构:。我正试着创造一个这样的结构:。作业名称和脚本用~分隔,作业用;分隔。。我可以使用以下命令使其正常工作。然而,我想知道是否可以用一个yq表达式来完成,而不是通过管道再次使用yq
我在YML中有以下结构:。我正试着创造一个这样的结构:。作业名称和脚本用~分隔,作业用;分隔。。我可以使用以下命令使其正常工作。然而,我想知道是否可以用一个yq表达式来完成,而不是通过管道再次使用yq
我下面有一个用于负载均衡器的 k8s list 文件,我这辈子都无法用值替换 $ipaddress,我必须覆盖整个文件或部分文件,甚至只是留空。我怎样才能像下面那样只替换 $ipaddress 试过下
我正在处理一个 repo https://github.com/adarshaJha/PIVT#scaled-up-raft-network 当我运行此命令时: helm install ./hlf-
我有一个这样的 YAML 文件 file.yaml: category: fruits some_dummy_key: value 现在我想使用 Mike Farah 的 yq v4(具体是版本 4.
这可能与我发布的另一个问题有关:yq (GO/Mike Farah) sort all arrays recursively? Mike Farah 的 yq 为 making arrays uniq
我正在尝试在 PowerShell 中运行此 yq 命令: yq eval '.. | select(has(""CK_RUN_CASE""))' problemset.yml 但我收到此错误消息:
我有以下 yaml,我想替换命令字段 有 apiVersion: batch/v1 kind: Job metadata: name: test004 spec: template:
我有一个带有以下块的 k8s yaml 文件 spec: replicas: 1 strategy: type: Recreate 我想在“规范”之后添加以下块: selector:
给定一个 yaml 文件(helmfile),如下所示 releases: - chart: ../charts/foo name: foo namespace: '{{ .Val
我有以下 yaml,我想替换命令字段 有 apiVersion: batch/v1 kind: Job metadata: name: test004 spec: template:
我是一名优秀的程序员,十分优秀!