About this project
yq is a lightweight, portable command-line tool written in Go that allows users to process and manipulate various data formats. It employs a syntax similar to the popular jq JSON processor but extends its capabilities to support YAML, JSON, XML, CSV, TSV, TOML, HCL, INI, and properties files.
Key capabilities include:
- Reading, updating, and merging data structures across multiple files.
- In-place file updates and the ability to use environment variables within expressions.
- Conversion between different formats (e.g., JSON to YAML, XML to YAML).
- Support for multi-document YAML files and front-matter blocks.
- Advanced operations such as date/time manipulation, sorting keys, and handling YAML comments, styling, tags, anchors, and aliases.
- Base64 encoding and decoding.
- Integration as a GitHub Action for automated pipelines.
The tool is distributed as a dependency-free binary and is available via various package managers including Homebrew, Snap, Chocolatey, Scoop, and Winget, as well as through Docker and Podman containers.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.