我有一个YAML文件的例子,它在“容器”列表和每个容器的“网络”列表中包含了可变数量的元素。
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
这样的东西。谢谢
编辑:例如,我想要的输出就像下面这样简单:
vm1
rys
1
router
rys
1
2
vm2
rys
2
https://stackoverflow.com/questions/70866847
复制相似问题