zoukankan      html  css  js  c++  java
  • linux split 及优化


    split 虽然不好用, 但是还是可以用一下的!

    有两个方式拆分, 按固定的行数, 按固定的大小。 默认是 1000 行, 后缀长度为2, 后缀长度N是说, 分片从N个字母/数字 的最小值 到 其最大值

    #split --h
    用法:split [选项]... [输入 [前缀]]
    将输入内容拆分为固定大小的分片并输出到"前缀aa"、"前缀ab",...;
    默认以 1000 行为拆分单位,默认前缀为"x"。如果不指定文件,或
    者文件为"-",则从标准输入读取数据。

    长选项必须使用的参数对于短选项时也是必需使用的。
    -a, --suffix-length=N 指定后缀长度为N (默认为2)
    -b, --bytes=大小 指定每个输出文件的字节大小
    -C, --line-bytes=大小 指定每个输出文件里最大行字节大小
    -d, --numeric-suffixes 使用数字后缀代替字母后缀
    -l, --lines=数值 指定每个输出文件有多少行
    --verbose 在每个输出文件打开前输出文件特征
    --help 显示此帮助信息并退出
    --version 显示版本信息并退出


    SIZE 可以是一个可选的整数,后面跟着以下单位中的一个:
    KB 1000,K 1024,MB 1000*1000,M 1024*1024,还有 G、T、P、E、Z、Y。

    来测试下
    split -l10000 catalina.out
    #ls
    catalina.out xae xaj xao xat xay xbd xbi xbn xbs xbx xcc xch xcm xcr xcw xdb xdg xdl xdq xdv
    xaa xaf xak xap xau xaz xbe xbj xbo xbt xby xcd xci xcn xcs xcx xdc xdh xdm xdr xdw
    xab xag xal xaq xav xba xbf xbk xbp xbu xbz xce xcj xco xct xcy xdd xdi xdn xds
    xac xah xam xar xaw xbb xbg xbl xbq xbv xca xcf xck xcp xcu xcz xde xdj xdo xdt
    xad xai xan xas xax xbc xbh xbm xbr xbw xcb xcg xcl xcq xcv xda xdf xdk xdp xdu

    rm /tt/x*


    #split -l1000 catalina.out
    split: 已排除输出文件后缀 —— 表明只去掉了满足后缀要求的文件, 被过滤了! 默认后缀是长度2,即只显示了 aa-zz 共 26*26个文件

    #ls
    catalina.out xbc xcf xdi xel xfo xgr xhu xix xka xld xmg xnj xom xpp xqs xrv xsy xub xve xwh xxk xyn xzq
    xaa xbd xcg xdj xem xfp xgs xhv xiy xkb xle xmh xnk xon xpq xqt xrw xsz xuc xvf xwi xxl xyo xzr
    xab xbe xch xdk xen xfq xgt xhw xiz xkc xlf xmi xnl xoo xpr xqu xrx xta xud xvg xwj xxm xyp xzs
    xac xbf xci xdl xeo xfr xgu xhx xja xkd xlg xmj xnm xop xps xqv xry xtb xue xvh xwk xxn xyq xzt
    xad xbg xcj xdm xep xfs xgv xhy xjb xke xlh xmk xnn xoq xpt xqw xrz xtc xuf xvi xwl xxo xyr xzu
    xae xbh xck xdn xeq xft xgw xhz xjc xkf xli xml xno xor xpu xqx xsa xtd xug xvj xwm xxp xys xzv
    xaf xbi xcl xdo xer xfu xgx xia xjd xkg xlj xmm xnp xos xpv xqy xsb xte xuh xvk xwn xxq xyt xzw
    xag xbj xcm xdp xes xfv xgy xib xje xkh xlk xmn xnq xot xpw xqz xsc xtf xui xvl xwo xxr xyu xzx
    xah xbk xcn xdq xet xfw xgz xic xjf xki xll xmo xnr xou xpx xra xsd xtg xuj xvm xwp xxs xyv xzy
    xai xbl xco xdr xeu xfx xha xid xjg xkj xlm xmp xns xov xpy xrb xse xth xuk xvn xwq xxt xyw xzz
    xaj xbm xcp xds xev xfy xhb xie xjh xkk xln xmq xnt xow xpz xrc xsf xti xul xvo xwr xxu xyx
    xak xbn xcq xdt xew xfz xhc xif xji xkl xlo xmr xnu xox xqa xrd xsg xtj xum xvp xws xxv xyy
    xal xbo xcr xdu xex xga xhd xig xjj xkm xlp xms xnv xoy xqb xre xsh xtk xun xvq xwt xxw xyz
    xam xbp xcs xdv xey xgb xhe xih xjk xkn xlq xmt xnw xoz xqc xrf xsi xtl xuo xvr xwu xxx xza
    xan xbq xct xdw xez xgc xhf xii xjl xko xlr xmu xnx xpa xqd xrg xsj xtm xup xvs xwv xxy xzb
    xao xbr xcu xdx xfa xgd xhg xij xjm xkp xls xmv xny xpb xqe xrh xsk xtn xuq xvt xww xxz xzc
    xap xbs xcv xdy xfb xge xhh xik xjn xkq xlt xmw xnz xpc xqf xri xsl xto xur xvu xwx xya xzd
    xaq xbt xcw xdz xfc xgf xhi xil xjo xkr xlu xmx xoa xpd xqg xrj xsm xtp xus xvv xwy xyb xze
    xar xbu xcx xea xfd xgg xhj xim xjp xks xlv xmy xob xpe xqh xrk xsn xtq xut xvw xwz xyc xzf
    xas xbv xcy xeb xfe xgh xhk xin xjq xkt xlw xmz xoc xpf xqi xrl xso xtr xuu xvx xxa xyd xzg
    xat xbw xcz xec xff xgi xhl xio xjr xku xlx xna xod xpg xqj xrm xsp xts xuv xvy xxb xye xzh
    xau xbx xda xed xfg xgj xhm xip xjs xkv xly xnb xoe xph xqk xrn xsq xtt xuw xvz xxc xyf xzi
    xav xby xdb xee xfh xgk xhn xiq xjt xkw xlz xnc xof xpi xql xro xsr xtu xux xwa xxd xyg xzj
    xaw xbz xdc xef xfi xgl xho xir xju xkx xma xnd xog xpj xqm xrp xss xtv xuy xwb xxe xyh xzk
    xax xca xdd xeg xfj xgm xhp xis xjv xky xmb xne xoh xpk xqn xrq xst xtw xuz xwc xxf xyi xzl
    xay xcb xde xeh xfk xgn xhq xit xjw xkz xmc xnf xoi xpl xqo xrr xsu xtx xva xwd xxg xyj xzm
    xaz xcc xdf xei xfl xgo xhr xiu xjx xla xmd xng xoj xpm xqp xrs xsv xty xvb xwe xxh xyk xzn
    xba xcd xdg xej xfm xgp xhs xiv xjy xlb xme xnh xok xpn xqq xrt xsw xtz xvc xwf xxi xyl xzo
    xbb xce xdh xek xfn xgq xht xiw xjz xlc xmf xni xol xpo xqr xru xsx xua xvd xwg xxj xym xzp


    去掉已排除输出文件后缀,需要改变其后缀长度,
    使用 split -l1000 -a4 catalina.out 即可


    用数字显示:
    rm /py/log/x*
    #split -l100000 -d catalina.out
    #ls
    catalina.out x00 x01 x02 x03 x04 x05 x06 x07 x08 x09 x10


    缺点是 可以设置前缀, 却不能设置后缀, ———— 这不是坑爹吗?? 为什么会有这么低级的限制??


    天啊!! 搜遍了 各论坛/ stackoverflow 都有没有答案!我擦, 大家都不要这个??

    没法,自己写一个吧!

    vi batchAddSuffix.sh
    
    echo prefix cant be empty!
    fi
    echo prefix cant be empty!
    
    prefix=$1
    suffix=$2
    
    if [ -z $1 ]; then 
    echo prefix cant be empty!
    exit -1
    fi
    
    if [ -z $2 ]; then
    echo suffix cant be empty!
    exit -1
    fi
    
    arr=`ls ${prefix}*| cut -d" " -f1 `
    
    for ff in $arr
    do
    echo moving $ff to $ff${suffix}
    mv $ff $ff${suffix}
    done
    
     
  • 相关阅读:
    Android动画系列
    Handler处理机制
    cp命令覆盖文件时不用按Y来确认的方法
    phantomjs
    无界面模式
    win10上安装keras
    MongoDB 排序
    MongoDB 条件操作符
    MongoDB 对象操作
    SQL 和 NoSQL 的区别
  • 原文地址:https://www.cnblogs.com/FlyAway2013/p/5546775.html
Copyright © 2011-2022 走看看