请启用 Javascript 以查看内容

Linux 大文件分割合并

 ·   ·  ☕ 2 分钟  ·  ✍ CNSRE

作者:SRE运维博客
博客地址: https://www.cnsre.cn/
文章地址:https://www.cnsre.cn/posts/211201955418/
相关话题:https://www.cnsre.cn/tags/split/


1. 分割文件

文件分割可以使用split命令,该即支持文本文件分割,又支持二进制文件分割;而合并文件可以使用cat命令。

1.1 文本文件分割

分割文本文件时,可以按文件大小分割,也可以按文本行数分割。

按文件大小分割

按文件大小分割文件时,需要以-C参数指定分割后的文件大小:

$ split -C 100M large_file.txt stxt

如上所示,我们将大文件large_file.txt100M大小进行分割,并指定了分割后文件前缀stxt;当不指定前缀时,split会自动对分割文件进行命名,一般会以x开头。

按行分割

文本文件还可以以行为单位进行分割,以行数进行分割时会忽略文件大小,并以-l参数指定分割后文件的行数:

$ split -l 1000 large_file.txt stxt

1.2 二进制文件分割

二进制文件分割类似于按大小分割文本文件,不同的是以-b参数来指定分割后的文件大小:

$ split -b 100M data.bak sdata

2. 文件合并

文件合并使用cat命令,上面几种方式分割的文件都可以使用cat命令合并。

cat命令合并分割文件:

$ cat stxt* > new_file.txt

3. 命令格式

3.1 split命令说明

split命令格式如下:

split [选项]... [要切割的文件 [输出文件前缀]]

命令参数

-a, --suffix-length=N   使用长度为 N 的后缀 (默认 2)
-b, --bytes=SIZE        设置输出文件的大小。支持单位:m,k
-C, --line-bytes=SIZE   设置输出文件的最大行数。与 -b 类似,但会尽量维持每行的完整性
-d, --numeric-suffixes  使用数字后缀代替字母
-l, --lines=NUMBER      设备输出文件的行数
    --help     显示版本信息
    --version  输出版本信息

3.2 cat命令说明

cat命令的常见使用场景有:

显示文件内容:

$ cat filename

创建一个空文件:

$ cat > filename

文件合并:

$ cat file1 file2 > file

作者:SRE运维博客
博客地址: https://www.cnsre.cn/
文章地址:https://www.cnsre.cn/posts/211201955418/
相关话题:https://www.cnsre.cn/tags/split/


您的鼓励是我最大的动力
alipay QR Code
wechat QR Code

Avatar
作者
CNSRE
一位只会重启的运维


目录