文件分割可以使用
split
命令,该即支持文本文件分割,又支持二进制文件分割;而合并文件可以使用cat
命令。
文本文件分割
分割文本文件时,可以按文件大小分割,也可以按文本行数分割。
- 文件大小分割
按文件大小分割文件时,需要以-C参数指定分割后的文件大小:
split -C 100M large_file.txt stxt
如上所示,我们将大文件large_file.txt按100M大小进行分割,并指定了分割后文件前缀stxt;当不指定前缀时,
split
会自动对分割文件进行命名,一般会以x开头。按行分割
文本文件还可以以行为单位进行分割,以行数进行分割时会忽略文件大小,并以-l参数指定分割后文件的行数:
split -l 1000 large_file.txt stxt
二进制文件分割
二进制文件分割类似于按大小分割文本文件,不同的是以-b参数来指定分割后的文件大小:
split -b 100M data.bak sdata
文件合并
文件合并使用
cat
命令,上面几种方式分割的文件都可以使用cat命令合并。
- cat命令合并分割文件
cat *.txt >> new_file.txt
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 输出版本信息
cat
命令说明
- 查看文件内容
cat filename.txt
- 创建一个空文件
cat > filenmae.txt
- 生成一个文件
cat > a.sh <<EOF
#!/bin/bash
echo "test"
EOF
- 文件合并
cat file1 file2 >> fileall.txt