コンテンツにスキップ

yq を使って YAML の配列の値で for ループを回す

YAML のリストをyqで取り出し、各要素に対してシェルの for ループで処理する例を示す。

sample.yaml
1
2
3
4
5
a:
  b:
    - value1
    - value2
    - value3

上記のような YAML ファイルがあったときに、value1 value2 value3に対して処理を行うにはyqを使うと次のように for ループを回すことができる。

1
2
3
4
targets=$(yq '.a.b[]' sample.yaml)
for target in $targets; do
  echo $target
done