首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用yq遍历Almquist shell中的列表

使用yq遍历Almquist shell中的列表
EN

Stack Overflow用户
提问于 2022-01-26 16:26:33
回答 2查看 326关注 0票数 0

我有一个YAML文件的例子,它在“容器”列表和每个容器的“网络”列表中包含了可变数量的元素。

代码语言:javascript
运行
复制
lab_name: practica0
containers:
- name: vm1
  image: rys
  networks:
  - 1
- name: router
  image: rys
  networks:
  - 1
  - 2
- name: vm2
  image: rys
  networks:
  - 2

我想循环遍历“容器”和“网络”数组,获取所有的值,但我不知道具体如何做。我尝试使用一个for循环和一个shell变量,比如这个yq eval '.containers[$i].name' example.yaml,但是它没有工作。我试着将$i封装在双引号之间,并按这里指定的方式转义https://github.com/mikefarah/yq/issues/468#issuecomment-752114840,但仍然没有结果。顺便说一下,我使用的是Go yq,我必须使用Almquist Shell而不是bash,这样我就不能使用像readarray这样的东西。谢谢

编辑:例如,我想要的输出就像下面这样简单:

代码语言:javascript
运行
复制
vm1
rys
1

router
rys
1
2

vm2
rys
2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70866847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档