• linux 下处理大文件


    1head tail more
    
    2、先把大文件进行分割 split
    
    split 参数:
    -a, --suffix-length=N   指定输出文件名的后缀,默认为2个
    -b, --bytes=SIZE        指定输出文件的字节数
    -C, --line-bytes=SIZE  每一输出档中,单行的最大 byte-d, --numeric-suffixes  使用数字代替字母做后缀
    -l, --lines=NUMBER    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
    
    3sed 按行进行处理
        总行数:wc -l 文件名
    
        sed -n '1,1024(文件总行数)p' filename;#依次输出文件的每一行
    
    4awk 一次读取文件中的一行
        awk '{print;}' employee.txt  #依次输出文件的每一行
  • 相关阅读:
    DFS——CodeForces740DAlyona and a tree
    DFS——hdu1016Prime Ring Problem
    DFS(8)——poj2034Anti-prime Sequences
    DFS(7)——poj1011Sticks
    DFS(2)——hdu1241Oil Deposits
    DFS(6)——hdu1342Lotto
    NO12——快速幂取模
    NO11——01背包
    NO10——各种欧几里得
    NO9——线段相关
  • 原文地址:https://www.cnblogs.com/siqi/p/3602813.html
Copyright © 2020-2023  润新知