Repolode
TomWright

TomWright/dasel

一个命令行工具和 Go 库,用统一的选择器语法查询和修改 JSON、YAML、TOML、XML 等结构化数据。

Star
8,050
Fork
178
未关闭 Issue
25
最近提交
10天前

这是什么?

Dasel(Data-Select 的缩写)是一个命令行工具,可以用统一的选择器语法读取、修改和转换结构化数据。同一套表达式适用于 JSON、YAML、TOML、XML、CSV、HCL、INI 和 KDL,不必为每种格式单独学习一套查询方式。

除了提取数据,Dasel 还能直接原地修改文件,支持更新、插入和删除字段,也能在 JSON、YAML、TOML 等格式之间互相转换。它同时支持递归查找(..)和 search 功能,可以在整个文档中匹配满足条件的值。

项目可通过 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 库导入到项目中使用。

适用场景

  • 在 shell 脚本或 CI 流水线中修改 YAML、JSON 配置文件的字段。
  • 将配置文件从一种格式转换为另一种格式。
  • 在终端中从 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 是什么?
一个命令行工具和 Go 库,用统一的选择器语法查询和修改 JSON、YAML、TOML、XML 等结构化数据。 Dasel(Data-Select 的缩写)是一个命令行工具,可以用统一的选择器语法读取、修改和转换结构化数据。同一套表达式适用于 JSON、YAML、TOML、XML、CSV、HCL、INI 和 KDL,不必为每种格式单独学习一套查询方式。
dasel 可以免费使用吗?用的什么许可证?
dasel 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
dasel 还在维护吗?
活跃维护中。dasel 最近一次提交是在 2026年10月15日。
dasel 适合用来做什么?
在 shell 脚本或 CI 流水线中修改 YAML、JSON 配置文件的字段。 将配置文件从一种格式转换为另一种格式。 在终端中从 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

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目