yq CLI
CLI на Go читает и изменяет YAML, JSON и другие форматы, чтобы агент делал точечные преобразования конфигурации.
- 16 229 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- CLI читает конфигурацию, включая секретные поля, и при `-i` перезаписывает исходный файл.
Установка
Ручная установка
Выбери бинарный файл официального релиза из первого раздела Install. Проверь, что это mikefarah/yq, протестируй выражение на копии и покажи результат до использования `-i`.
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- CLI читает конфигурацию, включая секретные поля, и при `-i` перезаписывает исходный файл.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
yq от Mike Farah позволяет выбирать поля и преобразовывать структурированные файлы из терминала. Агент может прочитать конкретное значение YAML, изменить выбранный элемент или объединить несколько документов. Выражения напоминают jq, но работают с несколькими форматами данных. Вход можно передать файлом или через stdin, а результат вывести отдельно либо записать на место. Пользователь выбирает нужный путь и проверяет изменения конфигурации перед применением. Для установки доступен самостоятельный бинарный файл без отдельного языкового окружения.
Для кого. Ответственным за конфигурацию приложений, которым нужны проверяемые изменения YAML и JSON из сценариев агента.
Подходит, если
- Агент должен прочитать одно поле большого YAML без вывода всего файла.
- Тестовая конфигурация требует точечной замены значения.
- Несколько документов нужно объединить по явно заданному правилу.
- Данные требуется перевести между JSON и YAML для другого инструмента.
Не подходит, если
- Вы ожидаете полной совместимости со всеми выражениями jq.
- Файл должен сохранить все комментарии и пробелы побайтово.
- Окружение запускает другую одноименную реализацию yq.
Пример запроса к агенту
Прочитай нужное поле тестового YAML через yq и покажи предложенное новое значение без записи на место.Ограничения
Это реализация mikefarah/yq на Go, поэтому сначала проверьте, какой бинарный файл найден в PATH. yq поддерживает многие операции jq, но полной совместимости нет. Проверьте сложное выражение на образце. Комментарии и пробелы сохраняются по возможности, без гарантии для каждого случая. Флаг `-i` записывает результат поверх исходного файла: сначала используйте копию или отдельный вывод и проверьте полученную конфигурацию.
Как отключить. Уберите вызов yq из сценария и восстановите измененную конфигурацию из Git или копии при необходимости. Само удаление бинарного файла не отменяет записанные изменения.
Частые вопросы
Как прочитать выбранное поле?
Пример `yq '.a.b[0].c' file.yaml` выбирает поле по указанному пути. Подставьте структуру своего документа.
Как получить JSON из YAML?
Используйте `yq -o json file.yaml`.
Что означает `-i`?
Это запись результата на место, с изменением исходного файла.
Почему `yes` не стало `true`?
Инструмент следует YAML 1.2, где `yes` и `no` не считаются логическими значениями.
Нужно ли ставить Python?
Для этой реализации нет: доступны самостоятельные бинарные файлы Go.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыCLI разбирает двоичные форматы и дает запросы в стиле jq, чтобы агент исследовал структуру файла и извлекал нужные поля.
CLI выбирает и меняет значения в JSON, YAML и других форматах, чтобы агент преобразовывал данные единым языком запросов.
CLI выполняет SQL над CSV, JSON и другими табличными файлами, чтобы агент объединял выгрузки и менял формат результата.
CLI импортирует CSV и JSON в SQLite, выполняет SQL и меняет схему, чтобы агент готовил локальные наборы данных для анализа.
jc превращает текстовый вывод команд, файлы и строки в JSON по готовым парсерам для обработки в сценариях.
CLI migrate применяет версионные изменения базы в заданном порядке и позволяет выбрать число шагов или целевую версию схемы.
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Звезды репозитория | Главное отличие |
|---|---|---|---|
| yq (эта карточка) | нет | 16 229 | |
| fq | нет | 10 626 | использует запросы в стиле jq для разбора двоичных форматов |
| Dasel | нет | 8 054 | CLI выбирает и меняет значения в JSON, YAML и других форматах, чтобы агент преобразовывал данные единым языком запросов. |
| jnv | нет | 6 132 | Интерактивный просмотрщик JSON показывает результат фильтра по мере ввода, чтобы пользователь проверил запрос агента. |
Коротко о README
Поддерживаются выбор элементов массива, загрузка других файлов и значения из окружения. Целевой формат можно задавать явно.