shell – 将包含多个日期记录的UNIX文件拆分为每个日期的一个文件

我有一个包含以下记录的UNIX CSV文件 –

Merged_file.csv
USD,2015-09-22 02:34:43.0,XXX
USD,2015-09-22 03:31:43.0,XXX
USD,2015-09-22 04:35:43.0,XXX
USD,2015-09-23 03:31:43.0,XXX
USD,2015-09-23 02:34:43.0,XXX
USD,2015-09-23 03:37:43.0,XXX
USD,2015-09-23 04:32:43.0,XXX

我想将此文件拆分为多个文件,例如一个文件应包含仅一个日期的记录.

需要的产出 –

File_2015-09-23.csv - 
USD,2015-09-23 03:31:43.0,XXX
USD,2015-09-23 02:34:43.0,XXX
USD,2015-09-23 03:37:43.0,XXX
USD,2015-09-23 04:32:43.0,XXX

File_2015-09-22.csv -
USD,2015-09-22 02:34:43.0,XXX
USD,2015-09-22 03:31:43.0,XXX
USD,2015-09-22 04:35:43.0,XXX

我尝试使用下面的命令,但由于第二个字段是时间戳,它为每个时间戳创建单独的文件,我无法弄清楚如何只将日期作为分割文件的基本字符串 –

awk -F, '{print >  "File_"$2".csv"}' Merged_file.csv

感谢是否有人可以提供帮助.

最佳答案
你很亲密:

awk -F"[, ]" '{print >> "File_"$2".csv"}' Merged_file.csv

只需将分隔符更改为逗号和空格即可.同时将重定向更改为>>,将内容附加到文件中.

转载注明原文:shell – 将包含多个日期记录的UNIX文件拆分为每个日期的一个文件 - 代码日志