singalen: (Default)
[personal profile] singalen
I need a small utility (suitable for embedded Linux) to make complex queries to CSV files, sql-style. Don't bash me, don't gawk on me, shell utilities I used just don't cut it.

Here's my notes - what I found.

* q (I' using it now) Works great, not suitable for embedded b/c Python+libsqlite.
* txt-sushi/tssql: in Haskell, must be pretty OK. Haskell doesn't have to be Go whose binaries are hardly smaller than 10M.
* mlr (Miller) "awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON". Quite good, though a binary is a bit big (~2M).

A bit different functions:
* asql only parses Apache logs, needs Perl.
* csvkit Only does a subset of relational algebra.
* comp: interesting tool, interesting language, not exactly clear what formats it parses (JSON only?). Written in Go, not for embedded, no documentation, not supported.
* jq - fantastic "sed for JSON". Written in C, great for embedded. A pity I don't need to parse JSON.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting
OSZAR »