Kam*_*ani 3 unix shell awk sed
我有一个包含以下记录的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
Run Code Online (Sandbox Code Playgroud)
我想将此文件拆分为多个文件,例如一个文件应包含仅一个日期的记录.
需要的产出 -
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
Run Code Online (Sandbox Code Playgroud)
我尝试使用下面的命令,但由于第二个字段是时间戳,它为每个时间戳创建单独的文件,我无法弄清楚如何只将日期作为分割文件的基本字符串 -
awk -F, '{print > "File_"$2".csv"}' Merged_file.csv
Run Code Online (Sandbox Code Playgroud)
感谢是否有人可以提供帮助.
你很亲密:
awk -F"[, ]" '{print >> "File_"$2".csv"}' Merged_file.csv
Run Code Online (Sandbox Code Playgroud)
只需将分隔符更改为逗号和空格即可.还要将重定向更改为>>,将内容附加到文件.