mlr
mlr
like awk, sed, cut and join, but for CSV, TSV and JSON
curl -fsSL https://unflab.app/get | sh -s -- mlr
Installs to ~/.local/bin. Add --prefix /usr/local/bin to
put it somewhere else, or --uninstall to remove it.
Why it’s here
No dependency problem to solve — it’s here so it installs the same way as everything else.
Details
| Original package | miller |
| Version | 6.22.0 |
| Licence | BSD-2-Clause |
| Upstream | https://miller.readthedocs.io/ |
| Source | v6.22.0.tar.gz |
| Version check | mlr --version |
| Download | unflab-mlr-6.22.0-arm64-apple-darwin.tar.gz |
Built from that exact tarball, with its SHA-256 pinned in the
recipe. The binary links against nothing outside /usr/lib
and /System/, checked in CI before release.
Miller (mlr) does for CSV, TSV and JSON what awk, sed, cut,
join and sort do for plain text — but name-aware, so you work with
columns by name rather than by position.
mlr --icsv --opprint cat data.csv # pretty-print a CSV
mlr --icsv --ojson head -n 5 data.csv # CSV to JSON
mlr --csv filter '$quantity > 10' data.csv
mlr --csv sort -f name then stats1 -a sum,mean -f price -g category data.csv
man mlr and https://miller.readthedocs.io/ have the full command set.
Install
./install.sh # into ~/.local/bin
./install.sh --prefix /usr/local/bin
./install.sh --uninstall
About this build
A single Go binary built with CGO_ENABLED=0, so it links only
libSystem — no package manager, no runtime dependencies.
The command is mlr, not miller; that’s upstream’s name and predates
the Go rewrite.
Upstream publishes prebuilt macOS binaries too. This package exists so
mlr installs the same way as everything else here.
Upstream
- Home: https://miller.readthedocs.io/
- Source: https://github.com/johnkerl/miller
- Version: 6.15.0
- Licence: BSD-2-Clause (see
LICENSE)
Miller is John Kerl’s work. unflab only compiles and packages it.