如何将csv文件拆分为带有标题行和1行数据的文件。我打算使用AWK,但任何选择当然都会感激不尽。我想将csv文件拆分为单行文件(带标题行)。例如,我想采取这样的方式: -
FirstName, Age, Sex
John,45,Male
Paul,24,Male
Mark,87,Male
Sue,29,Female
并生成四个看起来像这样的文件: -
文件1:
FirstName, Age, Sex
John,45,Male
文件2:
FirstName, Age, Sex
Paul,24,Male
等...
答案 0 :(得分:2)
这样可以解决问题:
$ awk 'NR==1{h=$0;next}{f="file"++i;print h,$0 > f;close(f)}' OFS='\n' file
示例:
$ ls
file
$ cat file
FirstName, Age, Sex
John,45,Male
Paul,24,Male
Mark,87,Male
Sue,29,Female
$ awk 'NR==1{h=$0;next}{f="file"++i;print h,$0 > f;close(f)}' OFS='\n' file
$ ls
file file1 file2 file3 file4
$ cat file1
FirstName, Age, Sex
John,45,Male
$ cat file2
FirstName, Age, Sex
Paul,24,Male
$ # ect