Linux/Centos文件分割与合并命令

当一个软件或者工程太大,需要备份到网盘中,使用网盘的朋友都知道在你不是会员的时候,你上传的文件是有大小限制的,这个时候就会面临如何将一个大文件进行切分,linux下的split命令是个很好的选择。它包含多种参数,支持按行,大小进行文件分割。

split命令的语法如下:

split [--help] [--version] [-a ] [-b] [-C] [-l] [要分割的文件] [输出文件名前缀]

对应的参数描述如下:

-a:--suffix-length=N    使用的后缀长度(默认是2)

-b:--bytes=SIZE     每个输出文件的字节大小

-C:--line-bytes=SIZE   每个输出文件每行的最大字节大小

-d:--numeric-suffixes   使用数字后缀代替字母后缀

-l:--line=NUMBER     设定每个输出文件的行数

--help:显示帮助信息

--version:显示版本信息

下面将举例进行说明:

1.将文件demo.txt分割成多个文件,分割后每个文件大小为20M,命令如下:

$ split -b 20m demo.txt

$ ls

demo.txt  xaa  xab  xac

2.将demo.txt文件分割成多个文件,分割后每个文件大小为20M,指定分割后的文件前缀为demo,命令如下:

$ split -b 20m demo.txt demo

$ ls

demoaa  demoab  demoac  demo.txt

3.将文件demo.txt分割成多个文件,每个文件为50万行,命令如下:

$ wc -l demo.txt

1502216 demo.txt

$ split -l 500000 demo.txt demo

$ ls

demoaa  demoab  demoac  demoad demo.txt

wc -l demoa*

500000  demoaa

500000 demoab

500000  demoac

2216      demoad

1502216  demo.txt

4.将文件demo.txt分割成多个文件,每个文件50万行,指定分割后的文件后缀为数字,数字位数为3位,命令如下:

$ wc -l demo.txt

1502216 demo.txt

$ split -l 500000 -d -a 3 demo.txt  demo

$ ls

demo000  demo001 demo002  demo003  demo.txt


5.文件合并可以使用cat命令将切分后的文件合并成新的文件,命令如下:

$ cat demo0*  > newdemo.txt

$ wc -l newdemo.txt

1502216   newdemo.txt



猜你喜欢

转载自blog.csdn.net/qq_33233768/article/details/77679784