寻求更优雅的类SQL语法:是否存在「SQL版Markdown」式语言?
问题背景
我原本想给Shell脚本开发一款轻量通用工具,用来处理标记分隔列表、TSV、缩进文本、CSV这类基于文本的轻结构化数据(功能类似awk,但不想做成编程语言)。后来发现它最终会具备类似基础SQL命令的接口,适用范围也远超最初目标。
但SQL太冗长繁琐,不符合我期望的易用性,也和Shell用户的使用习惯不符(不然各类场景早用SQL数据库后端支持了)。我不想做SQL转译器,只想做一款专注于结构化文本编辑的轻量工具,不需要依赖完整DBMS甚至SQLite。
我觉得XPath的查询语法不错,但受起源影响变得臃肿;Haskell的列表推导语法也很吸引我,但实现难度比基础XPath功能更高,而且我不想让它变成又一个awk。我还隐约记得有用点(类似OOP)替代斜杠的类XPath语法,能用来生成标记。另外,核心需求是能对用该语法选中的对象执行CRUD操作。
核心疑问
- 是否存在一种简洁优雅、自然演化的小型语言/语法,能实现SQL SELECT的功能,同时支持列表、表格、树(处理树结构是核心需求),最好还支持图结构?且实现难度较低(可以借助库或自行开发)?
- 是否已有这类通用工具?我目前只见过awk、jq这类工具。
另外,我有学习需求,哪怕只是复刻现有工具,也更倾向于自行实现。
内容的提问来源于stack exchange,提问作者anon
相关产品推荐
相关产品推荐

