Linux 文件分割与合并指南
文件分割 (split 命令)
Linux 提供了强大的 split
命令来进行文件分割,支持多种分割模式:
模式一:按行数分割(适合文本文件)
split -l 300 large_file.txt new_file_prefix
参数说明:
-l 300
:指定每个分割文件包含300行large_file.txt
:要分割的源文件new_file_prefix
:生成文件的前缀
模式二:按大小分割(适合文本和二进制文件)
split -b 10m server.log waynelog
参数说明:
-b 10m
:指定每个分割文件大小为10MB(支持单位:k, m, g)server.log
:要分割的源文件waynelog
:生成文件的前缀
高级用法示例
- 数字后缀+固定位数:
split -l 2482 BLM.txt -d -a 4 BLM_
-d
:使用数字后缀而非字母-a 4
:后缀长度为4位(如0000,0001…)
- 指定输出目录:
split -d -a 4 -l 100000 total.txt ./out/abc-
- 将分割后的文件输出到
./out/
目录 - 文件前缀为
abc-
- 查看文件行数(确定分割大小):
wc -l BLM.txt
文件合并 (cat 命令)
Linux 使用简单的 cat
命令即可合并文件:
cat small_files* > large_file
注意事项:
small_files*
会按字母顺序合并所有匹配的文件>
会将输出重定向到新文件- 对于二进制文件同样适用
合并技巧
- 按数字顺序合并:
cat file_{0001..1000} > combined_file
- 追加到现有文件:
cat part2 >> complete_file
- 合并时添加分隔符:
for f in part*; do cat "$f"; echo "---EOF---"; done > combined
最佳实践建议
-
分割前先检查文件属性(行数/大小):
wc -l file.txt # 查看行数 du -h file.txt # 查看大小
-
大文件分割时考虑使用
-n
参数(按块数分割) -
合并二进制文件时确保顺序完全正确
-
使用
md5sum
校验合并后的文件完整性 -
对于特别大的文件,考虑使用
split --verbose
查看进度