投稿 提交工具 投放合作

Sqawk:用 SQL 处理分隔符文件的命令行工具

数据分析 247 5 Rust 2026-11-14 在 GitHub 打开

受 awk 启发的 SQL 命令行工具,把 CSV/TSV 等文件载入内存表执行查询,可选写回文件。

Sqawk 是一个基于 SQL 的命令行工具,用于处理 CSV、TSV 等分隔符文件,灵感来自经典 awk:把数据载入内存表,执行 SQL 查询,可选将结果写回文件。支持 SELECT/INSERT/UPDATE/DELETE、各类 JOIN(等值连接走哈希连接)、聚合与 GROUP BY、字符串/数学/条件/日期函数、子查询、CTE(含递归)、集合运算、窗口函数、DDL 与事务,语义对齐 SQLite(64 位整数运算、CAST 规则、ASCII 大小写不敏感的 LIKE),未实现的语法会报错而非静默忽略。文件格式支持 CSV、TSV、自定义分隔符、无表头文件与 `#` 注释行;默认不改动文件,需显式 `--write`,未触及的行按字节原样保留。数据整体载入内存,约为文件体积的六七倍加结果集。附带 `-i` 交互式 REPL,可用 `-` 从标准输入读取。源码树还含开发用的 tsq 工具,用于生成测试数据、与 SQLite 差分对比、模糊测试命令行与写回行为,不随 cargo install 发布。

Star 趋势2026-11-08 — 2026-11-14当前 Stars 247

24711-0811-1211-14