Repolode
TomWright

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. 1

    Установите с помощью Homebrew (macOS/Linux)

    brew install dasel
  2. 2

    Или установите с помощью Go

    go install github.com/tomwright/dasel/v3/cmd/dasel@master
  3. 3

    Скачайте готовый бинарный файл со страницы Releases (Linux, macOS, Windows)

  4. 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 обновляется ежедневно.

Похожие проекты