x-cmd pkg | trdsql - 能对 CSV、LTSV、JSON 和 TBLN 执行 SQL 查询的工具
发布时间: 2024年01月08日
简介
trdsql 是一个使用 sql 作为 DSL 的强大工具:
采用 SQL 对 CSV、LTSV、JSON 和 TBLN 文件执行查询 与 MySQL,Postgresql,Sqlite 的 Driver 协同,可以实现对应数据库的表与文件的 JOIN 操作 与 MySQL,Postgresql,Sqlite 的 Driver 协同时,也能够获得其相应的特色数据处理能力(例如 Windows 函数) 支持多种输出格式,例如 CSV、LTSV、JSON、TBLN、Markdown、ASCII Table
首次用户
使用 x trdsql
即可自动下载并使用
在终端运行 eval "$(curl https://get.x-cmd.com)"
即可完成 x 命令 安装, 详情参考 x-cmd 官网 x-cmd 提供1分钟教程 ,其中包含了 trdsql 命令常用功能的 demo 示例,可以帮你快速上手 trdsql 。
使用案例 :
x trdsql "SELECT c1,c2 FROM data.csv"
x trdsql -od "\t " "SELECT * FROM data.csv"
x trdsql -omd "SELECT * FROM data.csv"
x trdsql -ijson "SELECT id, name, JSON_EXTRACT(attribute,'$.country') FROM data"
技术特点
trdsql 的输入源非常多样,因此非常灵活方便:
压缩文件作为数据输入源 ,非常适合处理冷数据多个文件为输入源 ,支持 glob 模式stdin 作为输入源,方便与系统命令进行协同处理 相比竞品,trdsql 能够利用相应的 sql driver 的能力:
为文件数据提供更丰富的处理能力 能够对文件和 db 中的 table 数据进行联合处理 trdsql 采用了 gojq 进行 JSON 的处理,从而也引入了强大的 jq 选择器 trdsql 对 JSON 的数据源有一点的结构要求,对于复杂的 JSON 处理,trdsql 可以会略有局限。用户可以考虑使用 jq , yq , dasel 进行预处理,转换成适合 sql 处理的行模式,再发挥 trdsql 的能力。
竞品和相关作品
以下 cli 项目也提供采用 sql 作为 DSL 处理 csv 数据:
q 是一个 Python 项目textql 与 trdsq l采用了 go,但从官网上看已经很久没有更新了 作者使用 trdsql 还完成了了一个使用 sql 来查询 cpu,内存等本机状态的 cli 工具,sql 爱好者可以去围观: psutilsql
进一步阅读
trdsql 源代码 - trdsql 项目的源代码托管在 GitHub,你可以在这里找到最新版本的 trdsql 和参与社区贡献。noborus: trdsql - 该项目作者提供的文档,详细介绍了 trdsql 在不同场景的使用,行文主要使用日语。
文章来源:https://blog.csdn.net/edwinjhlee/article/details/135437684
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:chenni525@qq.com进行投诉反馈,一经查实,立即删除!