当前位置: 首页 > news >正文

x-cmd pkg | trdsql - 能对 CSV、LTSV、JSON 和 TBLN 执行 SQL 查询的工具

目录

    • 简介
    • 首次用户
    • 技术特点
    • 竞品和相关作品
    • 进一步阅读

简介

trdsql 是一个使用 sql 作为 DSL 的强大工具:

  1. 采用 SQL 对 CSV、LTSV、JSON 和 TBLN 文件执行查询
  2. 与 MySQL,Postgresql,Sqlite 的 Driver 协同,可以实现对应数据库的表与文件的 JOIN 操作
  3. 与 MySQL,Postgresql,Sqlite 的 Driver 协同时,也能够获得其相应的特色数据处理能力(例如 Windows 函数)
  4. 支持多种输出格式,例如 CSV、LTSV、JSON、TBLN、Markdown、ASCII Table

首次用户

  1. 使用 x trdsql 即可自动下载并使用

    • 在终端运行 eval "$(curl https://get.x-cmd.com)" 即可完成 x 命令安装, 详情参考 x-cmd 官网
  2. x-cmd 提供1分钟教程,其中包含了 trdsql 命令常用功能的 demo 示例,可以帮你快速上手 trdsql 。

  3. 使用案例

    trdsql-1min-cn

    # 打印 data.csv 数据中的第 1,2 列
    x trdsql "SELECT c1,c2 FROM data.csv"# 使用制表符 \t 分隔输出
    x trdsql -od "\t" "SELECT * FROM data.csv"# 指定以 Markdown 格式输出查询结果
    x trdsql -omd "SELECT * FROM data.csv"# 指明输入文件的数据格式为 json
    x trdsql -ijson "SELECT id, name, JSON_EXTRACT(attribute,'$.country') FROM data"
    

技术特点

  1. trdsql 的输入源非常多样,因此非常灵活方便:
    1. 压缩文件作为数据输入源,非常适合处理冷数据
    2. 多个文件为输入源,支持 glob 模式
    3. stdin 作为输入源,方便与系统命令进行协同处理
  2. 相比竞品,trdsql 能够利用相应的 sql driver 的能力:
    1. 为文件数据提供更丰富的处理能力
    2. 能够对文件和 db 中的 table 数据进行联合处理
  3. trdsql 采用了 gojq 进行 JSON 的处理,从而也引入了强大的 jq 选择器
  4. trdsql 对 JSON 的数据源有一点的结构要求,对于复杂的 JSON 处理,trdsql 可以会略有局限。用户可以考虑使用 jq, yq, dasel 进行预处理,转换成适合 sql 处理的行模式,再发挥 trdsql 的能力。

竞品和相关作品

  1. 以下 cli 项目也提供采用 sql 作为 DSL 处理 csv 数据:
    1. q 是一个 Python 项目
    2. textql 与 trdsq l采用了 go,但从官网上看已经很久没有更新了
  2. 作者使用 trdsql 还完成了了一个使用 sql 来查询 cpu,内存等本机状态的 cli 工具,sql 爱好者可以去围观: psutilsql

进一步阅读

  • trdsql 源代码 - trdsql 项目的源代码托管在 GitHub,你可以在这里找到最新版本的 trdsql 和参与社区贡献。
  • noborus: trdsql - 该项目作者提供的文档,详细介绍了 trdsql 在不同场景的使用,行文主要使用日语。

相关文章:

x-cmd pkg | trdsql - 能对 CSV、LTSV、JSON 和 TBLN 执行 SQL 查询的工具

目录 简介首次用户技术特点竞品和相关作品进一步阅读 简介 trdsql 是一个使用 sql 作为 DSL 的强大工具: 采用 SQL 对 CSV、LTSV、JSON 和 TBLN 文件执行查询与 MySQL,Postgresql,Sqlite 的 Driver 协同,可以实现对应数据库的表与文件的 JO…...

Camunda Spin

Spin 常用于在脚本中解析json或者xml使用,S(variable) 表示构造成Spin对象,通过prop(“属性名”)获取属性值,通过stringValue()、numberValue()、boolValue() 等对类型转换。 repositoryService.createDeployment().name("消息事件流程&…...

strlen/Memcpy_s/strncasecmp

strlen 声明&#xff1a;size_t strlen(const char *str) 举例&#xff1a; #include <stdio.h> #include <string.h>int main () {char str[50];int len;strcpy(str, "This is runoob.com");len strlen(str);printf("|%s| 的长度是 |%d|\n"…...

水经微图安卓版APP正式上线!

在水经微图APP&#xff08;简称“微图APP”&#xff09;安卓版已正式上线&#xff01; 在随着IOS版上线约一周之后&#xff0c;安卓版终于紧随其后发布了。 微图安卓版APP下载安装 自从IOS版发布之后&#xff0c;就有用户一直在问安卓版什么时候发布&#xff0c;这里非常感谢…...

数据结构第十二弹---堆的应用

堆的应用 1、堆排序2、TopK问题3、堆的相关习题总结 1、堆排序 要学习堆排序&#xff0c;首先要学习堆的向下调整算法&#xff0c;因为要用堆排序&#xff0c;你首先得建堆&#xff0c;而建堆需要执行多次堆的向下调整算法。 但是&#xff0c;使用向下调整算法需要满足一个前提…...

[NSSRound#3 Team]This1sMysql

[NSSRound#3 Team]This1sMysql 源码 <?php show_source(__FILE__); include("class.php"); $conn new mysqli();if(isset($_POST[config]) && is_array($_POST[config])){foreach($_POST[config] as $key > $val){$value is_numeric($var)?(int)$…...

Android 通知简介

Android 通知简介 1. 基本通知 图1: 基本通知详情 小图标 : 必须提供,通过 setSmallIcon( ) 进行设置.应用名称 : 由系统提供.时间戳 : 由系统提供,也可隐藏时间.大图标(可选) : 可选内容(通常仅用于联系人照片,请勿将其用于应用图标),通过setLargeIcon( ) 进行设置.标题 : 可选…...

QT开发 2024最新版本优雅的使用vscode开发QT

▬▬▬▬▬▶VS开发QT◀▬▬▬▬▬ &#x1f384;先看效果 &#x1f384;编辑环境变量 如图添加环境变量&#xff01;&#xff01;&#xff01; 东西全在QT的安装目录&#xff01;&#xff01;&#xff01; 找到的按照我的教程再装一次&#xff01;&#xff01;&#xff01; 点…...

Redis性能大挑战:深入剖析缓存抖动现象及有效应对的战术指南

在实际应用中&#xff0c;你是否遇到过这样的情况&#xff0c;本来Redis运行的好好的&#xff0c;响应也挺正常&#xff0c;但突然就变慢了&#xff0c;响应时间增加了&#xff0c;这不仅会影响用户体验&#xff0c;还会牵连其他系统。 那如何排查Redis变慢的情况呢&#xff1f…...

基于SpringBoot的教学管理系统

文章目录 项目介绍主要功能截图&#xff1a;部分代码展示设计总结项目获取方式 &#x1f345; 作者主页&#xff1a;超级无敌暴龙战士塔塔开 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &…...

机器学习之独热编码(One-Hot)

一、背景 在机器学习算法中&#xff0c;我们经常会遇到分类特征&#xff0c;例如&#xff1a;人的性别有男女&#xff0c;祖国有中国&#xff0c;美国&#xff0c;法国等。这些特征值并不是连续的&#xff0c;而是离散的&#xff0c;无序的。通常我们需要对其进行特征数字化。…...

IIS+SDK+VS2010+SP1+SQL server2012全套工具包及安装教程

前言 今天花了两个半小时安装这一整套配置&#xff0c;这个文章的目标是将安装时间缩短到1个小时 正文 安装步骤如下&#xff1a; VS2010 —> service pack 1 —>SQL server2012 —> IIS —> SDK 工具包链接如下&#xff1a; https://pan.baidu.com/s/1WQD-KfiUW…...

【昕宝爸爸小模块】HashMap用在并发场景存在的问题

HashMap用在并发场景存在的问题 一、✅典型解析1.1 ✅JDK 1.8中1.2 ✅JDK 1.7中1.3 ✅如何避免这些问题 二、 ✅HashMap并发场景详解2.1 ✅扩容过程2.2 ✅ 并发现象 三、✅拓展知识仓3.1 ✅1.7为什么要将rehash的节点作为新链表的根节点3.2 ✅1.8是如何解决这个问题的3.3 ✅除了…...

数据库索引

1、什么是索引&#xff1f;为什么要用索引&#xff1f; 1.1、索引的含义 数据库索引&#xff0c;是数据库管理系统中一个排序的数据结构&#xff0c;以协助快速查询&#xff0c;更新数据库中表的数据。索引的实现通常使用B树和变种的B树&#xff08;MySQL常用的索引就是B树&…...

开源知识库工具推荐:低成本搭建知识库

在信息爆炸的时代&#xff0c;企业和个体对知识的存储和管理需求日益增强。开源知识库工具因其开源、免费、高效的特性&#xff0c;成为了众多组织和个人的首选。如果你正在寻找一款优秀的开源知识库工具&#xff0c;本文将为你推荐三款性能优异的产品&#xff0c;感兴趣就往下…...

C# Chart控件

// 定义图表区域 this.chart1.ChartAreas.Clear(); ChartArea chartArea1 new ChartArea("C1"); this.chart1.ChartAreas.Add(chartArea1); //定义存储和显示点的容器 this.chart1.Series.Clear(); Series series1 new Series("OK"); //series1.ChartAre…...

OpenCV C++ 图像处理实战 ——《多尺度自适应Gamma矫正的低照图像增强》

OpenCV C++ 图像处理实战 ——《多尺度自适应Gamma矫正的低照图像增强》 一、结果演示二、多尺度自适应Gamma矫正的低照度图像增强2.1HSI颜色空间2.1.1 功能源码2.2 自适应于直方图分布的 Gamma 矫正2.2.1 功能源码2.3 多尺度 Retinex 分解与明度增强2.3.1 功能源码三、源码测试…...

原型模式

为什么要使用原型模式 不用重新初始化对象&#xff0c;而是动态地获得对象运行时的状态。适用于当创建对象的成本较高时&#xff0c;如需进行复杂的数据库操作或复杂计算才能获得初始数据。 优点是可以隐藏对象创建的细节&#xff0c;减少重复的初始化代码&#xff1b;可以在…...

linux centos 账户管理命令

在CentOS或其他基于Linux的系统上&#xff0c;账户管理涉及到用户的创建、修改、删除以及密码的管理等任务。 linux Centos账户管理命令 1 创建用户&#xff1a; useradd username 这将创建一个新用户&#xff0c;但默认不会创建家目录。如果想要创建家目录&#xff0c;可以…...

【JavaWeb学习笔记】19 - 网购家居项目开发(上)

一、项目开发流程 程序框架图 项目具体分层方案 MVC 1、说明是MVC MVC全称: Mode模型、View视图、Controller控制器。 MVC最早出现在JavaEE三层中的Web层&#xff0c;它可以有效的指导WEB层的代码如何有效分离&#xff0c;单独工作。 View视图:只负责数据和界面的显示&…...

探索XPopup:一款强大的Android弹窗库,让UI交互更灵动

探索XPopup&#xff1a;一款强大的Android弹窗库&#xff0c;让UI交互更灵动 【免费下载链接】XPopup &#x1f525;XPopup2.0版本重磅来袭&#xff0c;2倍以上性能提升&#xff0c;带来可观的动画性能优化和交互细节的提升&#xff01;&#xff01;&#xff01;功能强大&#…...

航空安全报告分析:UAE-Large-V1的事件分类与风险评估应用

航空安全报告分析&#xff1a;UAE-Large-V1的事件分类与风险评估应用 【免费下载链接】UAE-Large-V1 项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/UAE-Large-V1 UAE-Large-V1作为一款先进的通用英文句子嵌入模型&#xff0c;在航空安全领域展现出强大的事…...

NASM高级特性详解:条件汇编、上下文栈和宏重载

NASM高级特性详解&#xff1a;条件汇编、上下文栈和宏重载 【免费下载链接】nasm A cross-platform x86 assembler with an Intel-like syntax 项目地址: https://gitcode.com/gh_mirrors/na/nasm NASM&#xff08;Netwide Assembler&#xff09;是一款跨平台的x86汇编器…...

Fish Speech 1.5API文档增强:OpenAPI 3.0规范生成与Swagger UI集成

Fish Speech 1.5 API文档增强&#xff1a;OpenAPI 3.0规范生成与Swagger UI集成 1. 引言&#xff1a;为什么需要API文档增强&#xff1f; 在实际开发中&#xff0c;我们经常遇到这样的场景&#xff1a;团队新成员需要快速了解API接口&#xff0c;第三方开发者想要集成语音合成…...

保姆级教程:用ArduPilot给无人车/船配置避障(附MR72雷达、TFmini Plus参数)

保姆级教程&#xff1a;用ArduPilot为无人车/船配置毫米波与激光雷达避障系统 当你的无人车在野外自动巡航时突然检测到前方障碍物&#xff0c;是紧急刹车还是智能绕行&#xff1f;水面无人船在夜间航行如何避开漂浮物&#xff1f;本文将手把手带你完成从硬件选型到参数调优的全…...

Pixel Aurora Engine真实作品:支持物理位移反馈的UI交互+生成图联动演示

Pixel Aurora Engine真实作品&#xff1a;支持物理位移反馈的UI交互生成图联动演示 1. 像素极光创意引擎介绍 Pixel Aurora Engine&#xff08;像素极光引擎&#xff09;是一款融合AI生成技术与复古游戏美学的创意工具。这款"虚拟游戏机"采用8-bit像素风格界面&…...

经典算法实现:二分查找、全排列与子集生成

在算法学习中&#xff0c;二分查找、全排列、子集生成是非常基础且重要的内容。本文将结合 C 代码&#xff0c;详细讲解这三种经典算法的实现思路与核心逻辑&#xff0c;帮助大家理解算法的底层原理和代码落地方式。一、二分查找&#xff08;Binary Search&#xff09;二分查找…...

为什么99%的Python团队还没用上AOT?2026年官方方案的3大硬伤与2个绕过技巧(含patch diff与CI集成脚本)

第一章&#xff1a;Python 原生 AOT 编译方案 2026 概览与演进脉络Python 长期以来以解释执行和 JIT 辅助&#xff08;如 PyPy&#xff09;为主流运行范式&#xff0c;而原生 Ahead-of-Time&#xff08;AOT&#xff09;编译在 2026 年迎来实质性突破&#xff1a;CPython 官方正…...

seo优化机构怎样选择才合适_什么是seo优化机构

SEO优化机构怎样选择才合适_什么是SEO优化机构 在当今的数字化时代&#xff0c;拥有一个高效的网站已经不再是企业竞争力的唯一标准&#xff0c;更重要的是这个网站能够在搜索引擎上获得良好的排名。这就是搜索引擎优化&#xff08;SEO&#xff09;的重要性所在。选择一个合适…...

N_m3u8DL-CLI-SimpleG:快速下载M3U8视频的终极指南

N_m3u8DL-CLI-SimpleG&#xff1a;快速下载M3U8视频的终极指南 【免费下载链接】N_m3u8DL-CLI-SimpleG N_m3u8DL-CLIs simple GUI 项目地址: https://gitcode.com/gh_mirrors/nm3/N_m3u8DL-CLI-SimpleG N_m3u8DL-CLI-SimpleG是一个专门用于下载M3U8流媒体视频的开源工具…...