mlr
Miller:CSV/TSV/JSON 的统一处理工具
补充说明
mlr 支持 CSV/TSV/JSON 互转、过滤、排序、连接、统计和重塑,语法类似 awk 但按记录/字段操作,适合数据清洗。
常用示例
mlr --csv cat data.csv
mlr --icsv --ojson cat data.csv
mlr --csv filter '$status == "ok"' data.csv
mlr --csv sort -f score data.csv
mlr --csv stats1 -a mean -f score data.csv
易错点与排错
- 输入/输出格式要显式指定;默认可能是 DKVP,不是 CSV。
- 表头/字段名含空格时用引号;不要按列号硬编码。
- 大文件注意内存/流式模式;
--no-auto-flatten 等选项影响 JSON。
- 版本差异较大;脚本里固定版本或检查
mlr --version。
- 多文件/连接要确认 key 和重复行处理。
- 复杂 JSON 嵌套仍用 jq。