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

Другие вопросы по тегам