Paquete declarativo de Go para crear herramientas de línea de comandos, con subcomandos, flags, autocompletado de shell y generación de ayuda.
TomWright/dasel
Herramienta de línea de comandos y biblioteca Go para consultar y modificar JSON, YAML, TOML, XML, CSV y otros datos estructurados con una sola sintaxis de selectores.
- Estrellas
- 8,050
- Forks
- 178
- Issues abiertos
- 25
- Último commit
- hace 10 días
¿Qué es?
Dasel (abreviatura de Data-Select) permite leer, actualizar y convertir datos estructurados desde la línea de comandos mediante una sola sintaxis de selectores. Las mismas expresiones funcionan con JSON, YAML, TOML, XML, CSV, HCL, INI y KDL, así que no necesitas una herramienta ni un lenguaje de consulta distintos para cada formato.
Además de extraer valores, Dasel puede modificar archivos directamente: actualizar, insertar o eliminar campos, y convertir entre formatos, por ejemplo, de JSON a YAML o de TOML a JSON. También admite el descenso recursivo (..) y una función de búsqueda que encuentra valores en cualquier parte de un documento.
Dasel se distribuye como un binario CLI a través de Homebrew, go install y versiones precompiladas, y se puede importar como biblioteca Go. Hay autocompletado de shell para Bash, Zsh, Fish y PowerShell.
Funciones clave
- 01Usa una sola sintaxis de selectores para JSON, YAML, TOML, XML, CSV, HCL, INI y KDL.
- 02Actualiza, inserta o elimina valores directamente en archivos estructurados.
- 03Convierte datos entre los formatos compatibles.
- 04Admite el descenso recursivo y la búsqueda condicional en todo un documento.
- 05Ofrece autocompletado de shell para Bash, Zsh, Fish y PowerShell.
- 06Se puede importar como biblioteca Go.
Casos de uso
- Editar valores en archivos de configuración YAML o JSON desde scripts de shell o pipelines de CI.
- Convertir un archivo de configuración de un formato a otro.
- Extraer campos concretos de respuestas de API o archivos de datos desde la terminal.
- Actualizar valores en lote en archivos estructurados dentro de flujos de trabajo de DevOps.
Inicio rápido
- 1
Instala con Homebrew (macOS/Linux)
brew install dasel - 2
O instala con Go
go install github.com/tomwright/dasel/v3/cmd/dasel@master - 3
Descarga un binario precompilado desde la página de Releases (Linux, macOS, Windows)
- 4
Ejecuta una primera consulta con una entrada JSON
echo '{"foo": {"bar": "baz"}}' | dasel -i json 'foo.bar'
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es dasel?
- Herramienta de línea de comandos y biblioteca Go para consultar y modificar JSON, YAML, TOML, XML, CSV y otros datos estructurados con una sola sintaxis de selectores. Dasel (abreviatura de Data-Select) permite leer, actualizar y convertir datos estructurados desde la línea de comandos mediante una sola sintaxis de selectores. Las mismas expresiones funcionan con JSON, YAML, TOML, XML, CSV, HCL, INI y KDL, así que no necesitas una herramienta ni un lenguaje de consulta distintos para cada formato.
- ¿dasel es gratuito? ¿Qué licencia tiene?
- dasel es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿dasel sigue mantenido?
- Mantenimiento activo. El último commit de dasel fue el 15 oct 2026.
- ¿Para qué puedo usar dasel?
- Editar valores en archivos de configuración YAML o JSON desde scripts de shell o pipelines de CI. Convertir un archivo de configuración de un formato a otro. Extraer campos concretos de respuestas de API o archivos de datos desde la terminal. Actualizar valores en lote en archivos estructurados dentro de flujos de trabajo de DevOps.
- ¿Cómo se instala dasel?
- Instala con Homebrew (macOS/Linux): brew install dasel O instala con Go: go install github.com/tomwright/dasel/v3/cmd/dasel@master Descarga un binario precompilado desde la página de Releases (Linux, macOS, Windows) Ejecuta una primera consulta con una entrada JSON: echo '{"foo": {"bar": "baz"}}' | dasel -i json 'foo.bar'
- ¿Dónde consigo dasel?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/TomWright/dasel
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Editor de JSON de código abierto que convierte JSON, YAML, CSV y XML en gráficos interactivos, convierte formatos y genera código.
Bibliotecas de clases C++ multiplataforma para crear aplicaciones centradas en la red, con soporte para HTTP, bases de datos, XML/JSON y logging.
Una biblioteca rápida de serialización y validación para Python que codifica y decodifica JSON, MessagePack, YAML y TOML mediante anotaciones de tipos estándar.
Un clon de jq en Rust que prioriza la corrección, la velocidad y la simplicidad, disponible como CLI compatible con jq o como biblioteca.
Generador visual de configuraciones web para Ghostty que exporta archivos de configuración mínimos.