Декларативный пакет Go для создания CLI-приложений с подкомандами, флагами, автодополнением команд и генерацией справки.
TomWright/dasel
CLI-инструмент и библиотека Go для поиска и изменения данных в JSON, YAML, TOML, XML, CSV и других структурированных форматах с помощью единого синтаксиса селекторов.
- Звёзды
- 8,050
- Форки
- 178
- Открытые issues
- 25
- Последний коммит
- 10 дней назад
Что это?
Dasel (сокращение от Data-Select) позволяет читать, обновлять и преобразовывать структурированные данные из командной строки с помощью единого синтаксиса селекторов. Одни и те же выражения работают с JSON, YAML, TOML, XML, CSV, HCL, INI и KDL, поэтому для каждого формата не нужен отдельный инструмент или язык запросов.
Помимо извлечения значений, Dasel умеет изменять файлы на месте: обновлять, добавлять и удалять поля, а также преобразовывать данные между форматами, например из JSON в YAML или из TOML в JSON. Поддерживаются рекурсивный спуск (..) и функция поиска, которая находит значения в любой части документа.
Dasel распространяется как CLI-бинарник через Homebrew, go install и готовые релизы, а также доступен для импорта в качестве библиотеки Go. Автодополнение командной строки доступно для Bash, Zsh, Fish и PowerShell.
Ключевые возможности
- 01Использует единый синтаксис селекторов для JSON, YAML, TOML, XML, CSV, HCL, INI и KDL.
- 02Обновляет, добавляет и удаляет значения непосредственно в структурированных файлах.
- 03Преобразует данные между поддерживаемыми форматами.
- 04Поддерживает рекурсивный спуск и поиск по условию во всём документе.
- 05Предоставляет автодополнение командной строки для Bash, Zsh, Fish и PowerShell.
- 06Можно импортировать в качестве библиотеки Go.
Сценарии использования
- Изменение значений в конфигурационных файлах YAML или JSON из shell-скриптов и CI-пайплайнов.
- Преобразование конфигурационного файла из одного формата в другой.
- Извлечение нужных полей из ответов API или файлов с данными в терминале.
- Пакетное обновление значений в структурированных файлах в DevOps-процессах.
Быстрый старт
- 1
Установите с помощью Homebrew (macOS/Linux)
brew install dasel - 2
Или установите с помощью Go
go install github.com/tomwright/dasel/v3/cmd/dasel@master - 3
Скачайте готовый бинарный файл со страницы Releases (Linux, macOS, Windows)
- 4
Выполните первый запрос на входных данных JSON
echo '{"foo": {"bar": "baz"}}' | dasel -i json 'foo.bar'
В подборках
Темы
Частые вопросы
- Что такое dasel?
- CLI-инструмент и библиотека Go для поиска и изменения данных в JSON, YAML, TOML, XML, CSV и других структурированных форматах с помощью единого синтаксиса селекторов. Dasel (сокращение от Data-Select) позволяет читать, обновлять и преобразовывать структурированные данные из командной строки с помощью единого синтаксиса селекторов. Одни и те же выражения работают с JSON, YAML, TOML, XML, CSV, HCL, INI и KDL, поэтому для каждого формата не нужен отдельный инструмент или язык запросов.
- dasel можно использовать бесплатно? Какая у него лицензия?
- dasel распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- dasel всё ещё поддерживается?
- Активно поддерживается. Последний коммит в dasel — 15 окт. 2026 г..
- Для чего можно использовать dasel?
- Изменение значений в конфигурационных файлах YAML или JSON из shell-скриптов и CI-пайплайнов. Преобразование конфигурационного файла из одного формата в другой. Извлечение нужных полей из ответов API или файлов с данными в терминале. Пакетное обновление значений в структурированных файлах в DevOps-процессах.
- Как установить dasel?
- Установите с помощью Homebrew (macOS/Linux): brew install dasel Или установите с помощью Go: go install github.com/tomwright/dasel/v3/cmd/dasel@master Скачайте готовый бинарный файл со страницы Releases (Linux, macOS, Windows) Выполните первый запрос на входных данных JSON: echo '{"foo": {"bar": "baz"}}' | dasel -i json 'foo.bar'
- Где скачать dasel?
- Исходный код и инструкции по установке — на GitHub: https://github.com/TomWright/dasel
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Редактор JSON с открытым исходным кодом: превращает JSON, YAML, CSV и XML в интерактивные графы, конвертирует форматы и генерирует код.
Кроссплатформенные библиотеки классов C++ для сетевых приложений: HTTP, сети, базы данных, XML/JSON и логирование.
Быстрая библиотека для сериализации и валидации данных в Python: кодирует и декодирует JSON, MessagePack, YAML и TOML с помощью стандартных аннотаций типов.
Клон jq на Rust, ориентированный на корректность, скорость и простоту; доступен как совместимый с jq CLI и как библиотека.
Веб-генератор конфигурации Ghostty с визуальным редактором и экспортом минимального конфигурационного файла.