【发布时间】:2012-04-30 08:28:09
【问题描述】:
我有一个 CSV 文件,其中包含如下数据:-
1,275,,,275,17.3,0,"2011-05-09 20:21:45"
2,279,,,279,17.3,0,"2011-05-10 20:21:52"
3,276,,,276,17.3,0,"2011-05-11 20:21:58"
4,272,,,272,17.3,0,"2011-05-12 20:22:04"
5,272,,,272,17.3,0,"2011-05-13 20:22:10"
6,278,,,278,17.3,0,"2011-05-13 20:24:08"
7,270,,,270,17.3,0,"2011-05-13 20:24:14"
8,269,,,269,17.3,0,"2011-05-14 20:24:20"
9,278,,,278,17.3,0,"2011-05-14 20:24:26"
此文件包含 4432986 行数据。
我希望根据最后一列中的日期将新文件名拆分出来。
因此,根据上面的数据,我想要 6 个新文件,每个文件中每天都有行。
我想要以 YYYY_MM_DD 格式命名的文件。
我也想忽略输出数据中的第一列
因此文件 2011_05_13 将包含以下行,第一列除外:-
272,,,272,17.3,0,"2011-05-13 20:22:10"
278,,,278,17.3,0,"2011-05-13 20:24:08"
270,,,270,17.3,0,"2011-05-13 20:24:14"
我打算在 linux 机器上执行此操作,所以使用任何 linux 实用程序的任何东西都会很酷,sed awk 等??
【问题讨论】:
-
Sed 似乎是个不错的选择。向我们展示您的尝试。
-
@wildplasser 还没有尝试过,不知道从哪里开始。
-
好吧,从 sed 手册开始。尝试找到一种方法来执行搜索和替换。
-
cut 实用程序不会处理带引号的逗号,请小心。
-
请参阅下面的 orangeoctopus 帖子,已经尝试过,它可以工作,但速度很慢。一个 awk one 班轮会很好。