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 #lscatalina.out xae xaj xao xat xay xbd xbi xbn xbs xbx xcc xch xcm xcr xcw xdb xdg xdl xdq xdvxaa xaf xak xap xau xaz xbe xbj xbo xbt xby xcd xci xcn xcs xcx xdc xdh xdm xdr xdwxab xag xal xaq xav xba xbf xbk xbp xbu xbz xce xcj xco xct xcy xdd xdi xdn xdsxac xah xam xar xaw xbb xbg xbl xbq xbv xca xcf xck xcp xcu xcz xde xdj xdo xdtxad xai xan xas xax xbc xbh xbm xbr xbw xcb xcg xcl xcq xcv xda xdf xdk xdp xdurm /tt/x*
#split -l1000 catalina.out split: 已排除输出文件后缀 —— 表明只去掉了满足后缀要求的文件, 被过滤了! 默认后缀是长度2,即只显示了 aa-zz 共 26*26个文件#lscatalina.out xbc xcf xdi xel xfo xgr xhu xix xka xld xmg xnj xom xpp xqs xrv xsy xub xve xwh xxk xyn xzqxaa xbd xcg xdj xem xfp xgs xhv xiy xkb xle xmh xnk xon xpq xqt xrw xsz xuc xvf xwi xxl xyo xzrxab xbe xch xdk xen xfq xgt xhw xiz xkc xlf xmi xnl xoo xpr xqu xrx xta xud xvg xwj xxm xyp xzsxac xbf xci xdl xeo xfr xgu xhx xja xkd xlg xmj xnm xop xps xqv xry xtb xue xvh xwk xxn xyq xztxad xbg xcj xdm xep xfs xgv xhy xjb xke xlh xmk xnn xoq xpt xqw xrz xtc xuf xvi xwl xxo xyr xzuxae xbh xck xdn xeq xft xgw xhz xjc xkf xli xml xno xor xpu xqx xsa xtd xug xvj xwm xxp xys xzvxaf xbi xcl xdo xer xfu xgx xia xjd xkg xlj xmm xnp xos xpv xqy xsb xte xuh xvk xwn xxq xyt xzwxag xbj xcm xdp xes xfv xgy xib xje xkh xlk xmn xnq xot xpw xqz xsc xtf xui xvl xwo xxr xyu xzxxah xbk xcn xdq xet xfw xgz xic xjf xki xll xmo xnr xou xpx xra xsd xtg xuj xvm xwp xxs xyv xzyxai xbl xco xdr xeu xfx xha xid xjg xkj xlm xmp xns xov xpy xrb xse xth xuk xvn xwq xxt xyw xzzxaj xbm xcp xds xev xfy xhb xie xjh xkk xln xmq xnt xow xpz xrc xsf xti xul xvo xwr xxu xyxxak xbn xcq xdt xew xfz xhc xif xji xkl xlo xmr xnu xox xqa xrd xsg xtj xum xvp xws xxv xyyxal xbo xcr xdu xex xga xhd xig xjj xkm xlp xms xnv xoy xqb xre xsh xtk xun xvq xwt xxw xyzxam xbp xcs xdv xey xgb xhe xih xjk xkn xlq xmt xnw xoz xqc xrf xsi xtl xuo xvr xwu xxx xzaxan xbq xct xdw xez xgc xhf xii xjl xko xlr xmu xnx xpa xqd xrg xsj xtm xup xvs xwv xxy xzbxao xbr xcu xdx xfa xgd xhg xij xjm xkp xls xmv xny xpb xqe xrh xsk xtn xuq xvt xww xxz xzcxap xbs xcv xdy xfb xge xhh xik xjn xkq xlt xmw xnz xpc xqf xri xsl xto xur xvu xwx xya xzdxaq xbt xcw xdz xfc xgf xhi xil xjo xkr xlu xmx xoa xpd xqg xrj xsm xtp xus xvv xwy xyb xzexar xbu xcx xea xfd xgg xhj xim xjp xks xlv xmy xob xpe xqh xrk xsn xtq xut xvw xwz xyc xzfxas xbv xcy xeb xfe xgh xhk xin xjq xkt xlw xmz xoc xpf xqi xrl xso xtr xuu xvx xxa xyd xzgxat xbw xcz xec xff xgi xhl xio xjr xku xlx xna xod xpg xqj xrm xsp xts xuv xvy xxb xye xzhxau xbx xda xed xfg xgj xhm xip xjs xkv xly xnb xoe xph xqk xrn xsq xtt xuw xvz xxc xyf xzixav xby xdb xee xfh xgk xhn xiq xjt xkw xlz xnc xof xpi xql xro xsr xtu xux xwa xxd xyg xzjxaw xbz xdc xef xfi xgl xho xir xju xkx xma xnd xog xpj xqm xrp xss xtv xuy xwb xxe xyh xzkxax xca xdd xeg xfj xgm xhp xis xjv xky xmb xne xoh xpk xqn xrq xst xtw xuz xwc xxf xyi xzlxay xcb xde xeh xfk xgn xhq xit xjw xkz xmc xnf xoi xpl xqo xrr xsu xtx xva xwd xxg xyj xzmxaz xcc xdf xei xfl xgo xhr xiu xjx xla xmd xng xoj xpm xqp xrs xsv xty xvb xwe xxh xyk xznxba xcd xdg xej xfm xgp xhs xiv xjy xlb xme xnh xok xpn xqq xrt xsw xtz xvc xwf xxi xyl xzoxbb 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 #lscatalina.out x00 x01 x02 x03 x04 x05 x06 x07 x08 x09 x10 缺点是 可以设置前缀, 却不能设置后缀, ———— 这不是坑爹吗?? 为什么会有这么低级的限制?? 天啊!! 搜遍了 各论坛/ stackoverflow 都有没有答案!我擦, 大家都不要这个??
没法,自己写一个吧!
vi batchAddSuffix.shecho prefix cant be empty!fiecho prefix cant be empty!prefix=$1suffix=$2if [ -z $1 ]; then echo prefix cant be empty!exit -1fiif [ -z $2 ]; thenecho suffix cant be empty!exit -1fiarr=`ls ${prefix}*| cut -d" " -f1 `for ff in $arrdoecho moving $ff to $ff${suffix}mv $ff $ff${suffix}done
posted on 2016-05-31 17:50 阅读( ...) 评论( ...)