青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
发表于 2014-8-30 08:31 | 显示全部楼层 |阅读模式

& D1 ^. Q/ O4 M9 ?6 j; Q* t& P当面临将一个大文件进行切分时,linux的split命令是很好的选择。它包含多种参数,支持按行、大小进行切分。) o- U" o9 o, s4 c  i5 s
split命令的语法如下:. C! O3 d0 [* d5 N. q6 U1 R0 |+ W/ ?
split [--help][--version][-a ][-b][-C ][-l ][要切割的文件][输出文件名前缀]
" A! `" h' y, Q. t" E对应的参数描述如下:& }! x. n4 A. Z- m4 b8 o. p
-a, --suffix-length=N  }# O: g' R, Z9 `" n  W- K" n
    使用的后缀长度 (默认为 2)
" e+ a3 W( M# Z+ S. _( ?-b, --bytes=SIZE
4 g0 t/ K( @/ O4 q9 g    每个输出文件的字节大小/ ~# j2 d0 Z- u! T- m) k
-C, --line-bytes=SIZE
% F6 N, I- n# {- J- s    每个输出文件每行的最大字节大小5 k7 d' ]2 f! t6 L9 a- F
-d, --numeric-suffixes
- ]" ]4 P1 I- ?    使用数字后缀代替字母后缀) ?8 ^6 i1 z& J* S+ w( T# h! w9 f
-l, --lines=NUMBER% X( b5 w+ a% ~, |' V
    设定每个输出文件的行数: k9 s, u9 r6 H6 m) r
--help 显示帮助信息) ]" P! h, J! |8 r/ [
--version% B$ {) Q/ N( Y) _, X% L
    显示版本信息6 ^) [  C1 |, E. H0 a+ b, k
下面举几个例子:2 Y  H& U8 W7 t/ I% f1 p
1)将文件splitTest.txt分割成多个文件,分割后的每个文件大小为10M。命令:
2 N- o. f! n3 ?- \' c* t' C$ split -b 20m splitTest.txt
3 k, z; r0 f, y' N& {9 A  |$ ls1 L, y5 L8 }" b6 b& h+ F
splitTest.txt  xaa  xab  xac  T0 E$ ~0 z, l$ {1 Z6 Y4 J
2)将文件splitTest.txt分割成多个文件,分割后的每个文件大小为10M。指定分割后的文件前缀位split,命令:/ j( x" s0 N: o. s4 N, V3 s. K
$ split -b 20m splitTest.txt  split
! V8 Q7 m# a, ~% S& }; Y! \; I1 f+ C$ ls
9 A* a. ?5 k$ j) u# V% qsplitaa  splitab  splitac  splitTest.txt! [) ~% _! |/ ~
3)将文件splitTest.txt分割成多个文件,每个文件50万行。命令:
. l& T# U/ r6 F1 B4 w9 n$ wc -l splitTest.txt 5 |1 o  _. p2 F9 ]1 e
1502216 splitTest.txt7 J- }1 N: y3 E  w: ^) s; A4 v" o) P
$ split -l 500000 splitTest.txt  split' i/ n5 n1 O9 T3 J; P
$ ls7 E, S0 S8 A  E2 ^# A' ]
splitaa  splitab  splitac  splitad  splitTest.txt
( h# }1 Q, I9 a4)将文件splitTest.txt分割成多个文件,每个文件50万行。指定分割后的文件后缀为数字,数字位数为3位,命令:
$ a" X3 J+ b! g" g; o$ wc -l splitTest.txt 3 `7 ?/ g% A6 g; k) h0 @9 R
1502216 splitTest.txt
4 o6 ?" h5 K3 w2 e$ split -l 500000 -d -a 3 splitTest.txt  split
2 C% K9 z0 y3 m0 U, ?9 |4 U% \$ ls
( Z* [# I/ _- E. X$ @8 f. Vsplit000  split001  split002  split003  splitTest.txt% c0 K5 {. a' i/ ]& o
可以使用cat命令将切分后的文件合并成新的文件:
/ D: S1 f# R* c+ L3 E$ cat split0* > original.txt
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-2-24 00:59 , Processed in 0.049663 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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