如果字段存在,则使用 yq 来增加值
using yq to Increment value if field exists
我有以下 yaml 文件:
name: myapp
app1:
version: 1.2
replicas: 1
app2:
version: 2.3
replicas: 1
app3:
version: 4.0
app4:
version: 2.4
我想使用 yq 来递增每个副本字段的值,因此结果为:
name: myapp
app1:
version: 1.2
replicas: 2
app2:
version: 2.3
replicas: 2
app3:
version: 4.0
app4:
version: 2.4
有什么想法吗?
使用 select
和 has
检查字段是否存在,并 +=
更新它:
使用mikefarah/yq:
yq '(.[] | select(has("replicas")).replicas) += 1'
使用kislyuk/yq:
yq -y '(.[] | select(has("replicas")?).replicas) += 1'
我有以下 yaml 文件:
name: myapp
app1:
version: 1.2
replicas: 1
app2:
version: 2.3
replicas: 1
app3:
version: 4.0
app4:
version: 2.4
我想使用 yq 来递增每个副本字段的值,因此结果为:
name: myapp
app1:
version: 1.2
replicas: 2
app2:
version: 2.3
replicas: 2
app3:
version: 4.0
app4:
version: 2.4
有什么想法吗?
使用 select
和 has
检查字段是否存在,并 +=
更新它:
使用mikefarah/yq:
yq '(.[] | select(has("replicas")).replicas) += 1'
使用kislyuk/yq:
yq -y '(.[] | select(has("replicas")?).replicas) += 1'