Об этом проекте

yq — это легковесный портативный инструмент командной строки, написанный на Go, который позволяет пользователям обрабатывать и манипулировать различными форматами данных. Он использует синтаксис, аналогичный популярному процессору JSON jq, но расширяет его возможности для поддержки YAML, JSON, XML, CSV, TSV, TOML, HCL, INI и файлов properties. Ключевые возможности включают: - Чтение, обновление и слияние структур данных в нескольких файлах. - Обновление файлов на месте и возможность использования переменных окружения в выражениях. - Конвертация между различными форматами (например, из JSON в YAML, из XML в YAML). - Поддержка многодокументных YAML-файлов и блоков front-matter. - Расширенные операции, такие как манипуляции с датой/временем, сортировка ключей, а также работа с комментариями YAML, стилями, тегами, якорями и псевдонимами. - Кодирование и декодирование Base64. - Интеграция в качестве GitHub Action для автоматизированных конвейеров. Инструмент распространяется в виде бинарного файла без зависимостей и доступен через различные менеджеры пакетов, включая Homebrew, Snap, Chocolatey, Scoop и Winget, а также через контейнеры Docker и Podman.