【问题标题】:How can I split csv file into separate files with header row and 1 line of data如何将 csv 文件拆分为带有标题行和 1 行数据的单独文件
【发布时间】:2026-02-17 18:30:01
【问题描述】:

如何将 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

等等……

【问题讨论】:

    标签: csv awk


    【解决方案1】:

    这样就可以了:

    $ 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
    

    【讨论】:

      最近更新 更多