linux: split

作者: 随风化作雨 | 来源:发表于2017-11-30 11:27 被阅读39次

    有个文件要处理,因为很大,所以想把它切成若干份,每份N行,以便并行处理。怎么搞呢?查了下强大的shell,果然有现成的工具--split。

    下面记录下基本用法:
    split [-bl] file [prefix]

    参数说明:
    -b, --bytes=SIZE:对file进行切分,每个小文件大小为SIZE。可以指定单位b,k,m。
    -C,--bytes=SIZE:与-b选项类似,但是,切割时尽量维持每行的完整性。
    -l, --lines=NUMBER:对file进行切分,每个文件有NUMBER行。
    prefix:分割后产生的文件名前缀。

    示例:
    假设要切分的文件为test.2012-08-16_17,大小1.2M,12081行。

    split -l 5000 test.2012-08-16_17  
    

    生成xaa,xab,xac三个文件。

    wc -l 看到三个文件行数如下:

    5000 xaa
    5000 xab
    2081 xac
    12081 总计
    
    split -b 600k test.2012-08-16_17  
    

    生成xaa,xab两个文件

    ls -lh 看到 两个文件大小如下:

    600K xaa
    554K xab
    
    split -b 500k test.2012-08-16_17 example  
    

    得到三个文件,文件名的前缀都是example

    ls -lh 看到文件信息如下:

    500K exampleaa
    500K exampleab
    154K exampleac
    

    相关文章

      网友评论

        本文标题:linux: split

        本文链接:https://www.haomeiwen.com/subject/ybqvbxtx.html