我记得我读过一篇文章,其中提到 Windows 上有一个文本编辑器,可以对数据进行排序,对 csv/tsv 的处理方式类似于对 excel 进行排序的方式。
任何指示都值得赞赏,它让我发疯了。
谢谢
答案1
答案2
我想不出有哪个 Windows 编辑器可以在内部执行此操作,但 Vim 或 Emacs 可以通过一些外部工具执行此操作,这对您有用吗?处理正确的 CSV 文件会有点复杂,但对于像本例这样的简单文件情况:
1,z,3
2,y,4
3,x,5
... Vim 命令按照每行的第二个字段对文件进行排序,如下所示:
:%!cut -f2,1,3 -d, | sort | cut -f2,1,3 -d,
这依赖于cut
可用性(例如来自适用于 Windows 的 GNU textutils)和通常的 Windows sort
,因为该命令将通过这些外部程序传输文本来完成工作。
但是,对于正确的 CSV 文件,需要先完全解析 CSV 以处理带引号的逗号,然后再使用此方法排序,然后再将字段重新排序。
sort
在 StackOverflow 上可以找到从 Vim 进行管道传输的示例这里。