Shell command to split large file into 10 smaller files

后端 未结 4 2070
清歌不尽
清歌不尽 2021-02-19 13:16

I have a csv import file with 33 million lines that need to be imported into my database. I can import it with a C# console app but then the stored procedures that run after the

相关标签:
4条回答
  • 2021-02-19 14:10

    Use split - e.g. to split a file every 3.4 million lines (should give you 10 files):

    split -l 3400000

    $ man split

    0 讨论(0)
  • 2021-02-19 14:12

    splitting by line is good however you can also split by size

    creates 1MB files out of the original

    split -b 1024k <file_name> 
    

    creates 1GB files out of original

    split -b 1024m <file_name>
    
    0 讨论(0)
  • 2021-02-19 14:15

    The version of split in coreutils 8.8 (not yet released) will have the command

    split -n l/10
    

    For now you'll need to specify a particular number of lines per file

    0 讨论(0)
  • 2021-02-19 14:17

    If your csv file have 500 rows to split two part(250+250)

    download and install "Cygwin Terminal"

    put comment "split -l 250 filename.csv"

    0 讨论(0)
提交回复
热议问题