青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

青华模具培训学院
查看: 720|回复: 0

Linux命令之大文件切分与合并

[复制链接]
发表于 2014-8-30 08:31 | 显示全部楼层 |阅读模式
4 ~- m3 [0 h# |; ^: o* }: I
当面临将一个大文件进行切分时,linux的split命令是很好的选择。它包含多种参数,支持按行、大小进行切分。: x$ e$ G* u7 W; m/ _+ \* X2 `
split命令的语法如下:
' o" l! K$ E7 f0 Y" O4 k$ @. ^+ xsplit [--help][--version][-a ][-b][-C ][-l ][要切割的文件][输出文件名前缀]: U, {, [" ^- R9 b
对应的参数描述如下:
! e. q* v) Z7 `6 F0 s! w-a, --suffix-length=N
( ^1 v, m, q, T$ N6 r/ {    使用的后缀长度 (默认为 2)
0 A9 U( Q( J2 ^) k9 [+ Q  B-b, --bytes=SIZE/ z: [! k2 V/ T7 k+ W
    每个输出文件的字节大小2 s. D2 |6 u: E
-C, --line-bytes=SIZE, l+ U. @: u% j9 |& F' F8 f
    每个输出文件每行的最大字节大小9 K& D8 u: @+ E- J% a
-d, --numeric-suffixes! n" \0 E7 c) }
    使用数字后缀代替字母后缀
1 L4 }- s: t: b# z0 G-l, --lines=NUMBER, ^' \! i* Z4 T0 P$ @* i  ]7 U
    设定每个输出文件的行数
5 c4 H" z! S: m4 A' t" P--help 显示帮助信息  Y" w; G1 Y$ f
--version( g. `( X7 [* \  K
    显示版本信息
6 }& U" U1 X5 Z下面举几个例子:% ]- k* r* r" X1 n
1)将文件splitTest.txt分割成多个文件,分割后的每个文件大小为10M。命令:
" ^& M0 L. r/ h2 e! i% ~; C. P7 T$ split -b 20m splitTest.txt) a% N. O5 D% {! x& Q8 c
$ ls
  R2 Y, Q9 L. o+ r& t+ isplitTest.txt  xaa  xab  xac
9 n, F% L) ]- J) z1 z2)将文件splitTest.txt分割成多个文件,分割后的每个文件大小为10M。指定分割后的文件前缀位split,命令:2 b  H- U. b1 c( ?
$ split -b 20m splitTest.txt  split# S$ `' J' E. Q  ~  U# Z
$ ls
  c+ |" ?3 n* |splitaa  splitab  splitac  splitTest.txt. w" P, m* l0 Y2 [) X
3)将文件splitTest.txt分割成多个文件,每个文件50万行。命令:; ~' c& L4 i" h( L: O" F
$ wc -l splitTest.txt 6 Y8 T3 k& L! k7 [
1502216 splitTest.txt+ M9 n9 x) b# U- e
$ split -l 500000 splitTest.txt  split
; _# V9 B6 Q0 k% M4 Q5 C$ ls
5 g  l/ ~" {6 ^splitaa  splitab  splitac  splitad  splitTest.txt& R+ \6 p" r  V" g
4)将文件splitTest.txt分割成多个文件,每个文件50万行。指定分割后的文件后缀为数字,数字位数为3位,命令:, G  ~+ E- S! w! _* c4 \
$ wc -l splitTest.txt
" k$ D) ^% N9 F/ v1502216 splitTest.txt
5 f; F$ W- P& Y, _3 V$ split -l 500000 -d -a 3 splitTest.txt  split
, m( O7 A1 I; B3 L) w$ ls
% y: \+ t3 F# M6 y( c" Lsplit000  split001  split002  split003  splitTest.txt* W  @9 M$ {0 H0 e$ ]/ z+ s  a
可以使用cat命令将切分后的文件合并成新的文件:
! d1 |6 U- a5 ]$ cat split0* > original.txt
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|关于我们|sitemap|小黑屋|Archiver|手机版|UG网-UG技术论坛-青华数控模具培训学校 ( 粤ICP备15108561号 )

GMT+8, 2025-2-24 01:02 , Processed in 0.051039 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表