yq для получения значений из пары ключ-значение
У меня есть простой файл values.yaml с данными ниже:
images:
tags:
one: abc:v0.3-16-07
two: xyz:ng-0.23.0
pq: qaa:0df1e21e752b3d3.2020-04-27_1
С помощью
yq -r --yaml-output ".images.tags" values.yaml
Я могу получить результат ниже
one: abc:v0.3-16-07
two: xyz:ng-0.23.0
pq: qaa:0df1e21e752b3d3.2020-04-27_1
Но как я могу получить значения из приведенного выше?
2 ответа
Решение
Вам не нужно использовать --yaml-output
флаг, который пытается проанализировать вывод фильтра, определенного как объект YAML. Для получения необработанных строк используйте фильтр в самом контексте JSON.
yq -r '.images.tags[]'
Нашел ответ, Иниан как бы опубликовал ответ, но было небольшое изменение
yq -r '.images.tags | to_entries[].value | split(":")[0]' values.yaml