本文主要是介绍x-cmd pkg | xsv - CSV 和 TSV 文件处理器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
- 简介
- 首次用户
- 技术特点
- 进一步阅读
简介
xsv 是一个用于索引、切片、分析、拆分和连接 CSV 和 TSV 文件的命令行程序,由 Andrew Gallant 使用 Rust 语言开发,首次发布于 2014 年 11月。
xsv 专为效率而生,并提供很多适合表格数据批处理场景的功能:
- 支持使用正则表达式或 类 SQL 语句进行筛选和排序。
- 提供对 CSV 数据文件统计分析的功能,例如统计行数、列数、频率
- 提供对 CSV 数据文件拼接和拆分的功能,例如将 CSV 数据文件拆分为多个文件、联接 CSV 多个文件
首次用户
-
使用
x xsv
即可自动下载并使用- 在终端运行
eval "$(curl https://get.x-cmd.com)"
即可完成 x 命令安装, 详情参考 x-cmd 官网
- 在终端运行
-
x-cmd 提供1分钟教程,其中包含了 xsv 命令常用功能的 demo 示例,可以帮你快速上手 xsv 。
-
使用案例:
# 显示 CSV 的表头内容 x xsv headers path/data.csv# 获取 CSV 文件的行数 x xsv count path/data.csv# 使用弹性制表符格式化显示 x xsv table path/data.csv# 对 CSV 数据进行 select 操作,如对 ascii 码表进行 select 操作,只显示八进制编码、缩写和相应的描述 x ascii | x xsv select Oct,Acronym,Description# 排序 x ascii | x xsv sort -s Acronym
技术特点
- 性能优秀
- xsv 采用 Rust 编写,作者在实现中非常注意优化,因此 xsv 的性能极其优秀,可以胜任大数据场景。
- 在8核16进程,select 的数据吞吐量能够到达325MB/s
- benchmark
- 常用功能足够简单,同时为了极致的性能,性能方面的选择会暴露在命令项选项当中。
- 采用 CSV 存储 GB 级别数据的讨论
- 作者很有趣,对该项目的使用场景进行了说明。反过来,也能知道作者使用xsv所处理的数据量都是非常大的。对于一般场景,其性能和可靠性是绰绰有余的。
- 当数据足够大(例如上 GB),数据库是更好的选择,这一点是合理的。而 sqlite3 非常适合这类场景。
- 但是,对于冷数据运维场景,或者数据本身高度冗余(以压缩方式存储),GB 级别的数据输入是存在的。而配合日益强大的 CPU 计算,xsv 的存在给了我们更多的选择。
进一步阅读
- xsv 源代码 - xsv 项目的源代码托管在 GitHub,你可以在这里找到最新版本的 xsv 和参与社区贡献。
- xsv 使用示例 - 该文章为 xsv 项目的 README.md 文档,其中提供 xsv 常用功能的使用示例。
- kandi: xsv - 该网站从社区支持、项目质量、安全、License、Reuse 等方面对 xsv 项目进行了评估。
X-CMD 官网
x-cmd-pkg
x-cmd-1min
这篇关于x-cmd pkg | xsv - CSV 和 TSV 文件处理器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!