【发布时间】:2013-10-01 22:05:29
【问题描述】:
我有几个包含以下信息的大型 CSV 文件(每个约 20 MiB)。
我想找到一种方法,根据第一列中的日期将此文件分成较小的文件。例如:下面的segment会被分成2个文件,分别是20130719.csv和20130720.csv。
我还想根据第 4 列(颜色标签)进行排序(在每个较小的文件中)。 有人对我如何做到这一点有任何建议吗?
在处理这些类型的事情时,我应该学习什么?
19/07/2013 19:14:24:523 6.35099E+17 Dr_Blue 10.42496014 27.17010689 0.685520172
19/07/2013 19:18:5:903 6.35099E+17 Dr_Yellow 11.09363079 28.57788467 2.010284424
19/07/2013 19:36:33:645 6.35099E+17 Dr_Blue 10.77513885 28.3723774 1.897870064
19/07/2013 21:29:36:762 6.35099E+17 Dr_Yellow 10.64018059 28.56962967 1.117245913
19/07/2013 21:29:37:627 6.35099E+17 Dr_Yellow 11.3354435 27.57170868 1.552354813
20/07/2013 2:34:28:2 6.35099E+17 Dr_Yellow 10.41067123 26.84050369 0.919301987
20/07/2013 2:34:28:840 6.35099E+17 Dr_Yellow 10.54369164 27.17712402 0.573934555
20/07/2013 2:34:33:192 6.35099E+17 Dr_Yellow 10.98471832 28.35677719 1.497600555
20/07/2013 4:20:28:246 6.35099E+17 Dr_Blue 10.92816448 28.55761147 2.187088013
【问题讨论】:
-
你应该学习/检查的事情:确保你有 2-3 x 可用磁盘空间? ;-) 祝你好运。
-
man awk和man sort
标签: linux bash csv command-line-interface