zoukankan      html  css  js  c++  java
  • linux下大文件处理

    linux下采用先分割后合并的策略处理大文件

    第一步:分割文件 split

    split 参数:
    -a, --suffix-length=N     指定输出文件名的后缀,默认为2个
    -b, --bytes=SIZE           指定输出文件的字节数
    -C, --line-bytes=SIZE   每一输出档中,单行的最大 byte 数
    -d, --numeric-suffixes   使用数字代替字母做后缀
    -l, --lines=NUMBER      按照行数分割文件

    例:
    [root@10.10.90.97 sh]# split -b 1024 -a 3 push.sh
    [root@10.10.90.97 sh]# ls
    push.sh xaaa  xaab  xaac  xaad  xaae  xaaf
    使用-a参数指定文件后缀名的个数为3

    [root@10.10.90.97 sh]# split -b 1024 push.sh push_  
    [root@10.10.90.97 sh]# ls
    push_aa  push_ab  push_ac  push_ad  push_ae  push_af    push.sh
    -b参数指定输出文件的大小为1024字节,push_指定输出文件的前缀代替默认的x

    [root@10.10.90.97 sh]# split -b 1024 -d push.sh
    [root@10.10.90.97 sh]# ls
    push.sh x00  x01  x02  x03  x04  x05
    -d参数设置输出文件的后缀为数字,默认的为字符  

    [root@10.10.90.97 sh]# split -l 5 push.sh
    [root@10.10.90.97 sh]# ls
    push.sh  xaa  xac  xae  xag  xai  xak  xam  xao  xaq  xas  xau  xaw  xay  xba
    xab  xad  xaf  xah  xaj  xal  xan  xap  xar  xat  xav  xax  xaz
    -l指定输出稳定的行数为5

    第二步:把处理后的文件合并(会自动按后缀排序连接):

    cat small_files* > large_file
  • 相关阅读:
    Codeforces704C. Black Widow
    Codeforces704B. Ant Man
    暑假学习日记2013/8/5
    暑假学习日记2013/7/31
    暑假学习日记2013/7/26
    暑假学习日记2013/7/25
    暑假学习日记2013/7/24
    暑假学习日记2013/7/23
    线性同余方程的解法笔记
    暑假学习日记2013/7/22
  • 原文地址:https://www.cnblogs.com/phpfans/p/4491142.html
Copyright © 2011-2022 走看看