structured-text-tools
A list of command-line tools for manipulating structured text data
A curated directory of command-line tools for reading, filtering, converting, and querying structured text files in formats like CSV, JSON, YAML, XML, and TOML, a map to help you find the right tool without writing code.
This repository is a curated directory of command-line tools for reading and transforming structured text files. If you work with data stored in formats like CSV, JSON, YAML, XML, Markdown, TOML, or plain tab-separated files, this list helps you find a tool that can slice, filter, convert, or query that data without writing a full program.
The list is organized by format. Each section covers a category of text, starting with general awk-like tools that operate on any line-based data, then moving into format-specific entries. For CSV, for example, you will find tools that clean columns, join files on shared fields, generate fake test data, run SQL queries against spreadsheets, or convert a CSV into an HTML table. The JSON section covers formatters, query languages, and converters to other formats.
Beyond the major formats, the list includes tools for .env files, /etc/hosts, INI files, log files, and several multi-format converters that can translate between a dozen formats in one step. There is also a section on templating tools that let you fill in structured data templates from the command line, and sections on interactive terminal UIs for browsing structured data and command-line interfaces for single-file databases like SQLite.
Each entry is a brief description with a link to the project. The list does not go deep on any single tool; it is a starting point for discovery. If you need to process structured text on the command line and are not sure what tool exists for the job, this repository is a map of the options available across many formats and use cases.
The full README is longer than what was shown.
Where it fits
- Find a command-line tool to run SQL queries against a CSV file without importing it into a database
- Convert a JSON API response into a readable table in the terminal
- Filter and transform a YAML config file from a shell script
- Discover a multi-format converter to translate between JSON, YAML, and TOML in one step