yq
Лёгкий портируемый консольный YAML обработчик.
- Вывести содержимое YAML файла, в приятном для чтения формате (в версиях старше 4-ой):
yq eval {{path/to/file.yaml}}
- Вывести содержимое YAML файла, в приятном для чтения формате (в 3-ей версии):
yq read {{path/to/file.yaml}} --colors
- Вывести первый элемент YAML файла, который должен быть массивом (в версиях старше 4-ой):
yq eval '.[0]' {{path/to/file.yaml}}
- Вывести первый элемент YAML файла, который должен быть массивом (в 3-ей версии):
yq read {{path/to/file.yaml}} '[0]'
- Установить или перезаписать значение для указанного ключа в файле (в версиях старше 4-ой):
yq eval '.{{key}} = "{{value}}"' --inplace {{path/to/file.yaml}}
- Установить или перезаписать значение для указанного ключа в файле (в 3-ей версии):
yq write --inplace {{path/to/file.yaml}} '{{key}}' '{{value}}'
- Объединить два файла и вывести результат на стандартный поток вывода (stdout) (в версиях старше 4-ой):
yq eval-all 'select(filename == "{{path/to/file1.yaml}}") * select(filename == "{{path/to/file2.yaml}}")' {{path/to/file1.yaml}} {{path/to/file2.yaml}}
- Объединить два файла и вывести результат на стандартный поток вывода (stdout) (в 3-ей версии):
yq merge {{path/to/file1.yaml}} {{path/to/file2.yaml}} --colors