大文件读取、分割、合并

大文件读取、分割、合并

一、读取

文件的读取可参考:Linux文本查看命令
vim和cat 会消耗比较多的内存和cpu资源,导致系统死机或者卡顿,因此读取大文件不建议使用;
more和less 不会消耗特别多的内存和cpu资源。

二、分割

语法:split [选项] [文件名] [前缀]

-b: 指定每个分割文件的大小,单位有K、M、G、P等
-d: 指定分割文件的后缀为数字
-a: 指定分割文件数字后缀的长度,如果是1,后缀为0,1,2…;如果是2,则为00,01,02…默认是2
-C: 指定每行最大的字节数
-l: 指定每个文件最大的行数

# 把bigfile.txt分割为内存大小为1G,分割文件数字后缀长度是1的小文件bigfile.txt.0	bigfile.txt.1 ...
split  -b 1G -a 1 -d bigfile.txt bigfile.txt.
# 把a.txt文件分割为每个文件最大行数是100000,分割文件数字后缀长度为4的小文件c.txt.0000		c.0001	...
split  -l 100000  -a 4 -d a.txt c.txt.

三、合并

压缩文件和非压缩文件的合并都是使用cat 结合重定向 合并成一个大文件:

文本文件的合并

# 把sanchuang.txt.0001~sanchuang.txt.0005的5个文件合并为chen.txt
cat   sanchuang.txt.000{
    
    1..5} >chen.txt

压缩文件的合并

# 把压缩文件sc.tar.gz.开头的所有文件合并为sc.tar.gz
cat sc.tar.gz.*   >sc.tar.gz

猜你喜欢

转载自blog.csdn.net/zheng_long_/article/details/129456928