主要观点:xan
是一个用 Rust 编写的命令行工具,可直接在 shell 中处理 CSV 文件,速度快、内存占用小,能处理大文件并利用多线程并行处理,可进行多种常见 CSV 操作如预览、过滤、排序等,还能进行复杂任务如词法计量、图论相关操作及数据可视化,有多种安装方式和命令,包括各种常见操作的命令及相关文档。
关键信息:
- 用
cargo install xan
安装,可调整编译标志,也可安装最新开发版本cargo install --git https://github.com/medialab/xan
。 - 在 Windows 可用
Scoop
安装,scoop bucket add extras ; scoop install xan
。 - 在 macOS 可用
Homebrew
安装,brew install xan
。 - 在 Arch Linux 可从
extra
仓库用pacman
安装,sudo pacman -S xan
。 - 在 Nix 可通过
nix-shell -p xan
安装。 - 有多种可用命令,如
count
、headers
、view
等,各命令有详细文档说明。 - 有表达式语言参考,包括 cheatsheet、函数列表、聚合函数列表及 Scraping DSL。
- 有 cookbook 包含多种使用示例,如合并频率表等。
- 有新闻部分可查看工具进化相关信息,有常见问题解答部分。
重要细节: xan
是BurntSushi'sxsv
的 fork,适合 SciencesPo 的 médialab 使用场景。- 可通过
xan completions
命令安装命令和标题/列名的自动补全。 - 展示了多种数据可视化效果,如各种图表。
- 对于输入输出格式,默认期望标准 CSV 文件,可通过
xan input
或-d/--delimiter
处理自定义分隔符文件,用xan fmt
输出自定义 CSV 方言。 - 可处理无标题的 CSV 文件,用
-n/--no-headers
标志。 - 默认从 stdin 读取,某些命令可通过
-
指定 stdin,输出到 stdout 或用-o/--output
指定输出位置。 - 能读取 gzipped 文件。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。