在Linux系统中,可以使用多种命令来切割文件。以下是几种常用的方法:
split
命令split
是Linux中最常用的文件切割工具,可以按行数、大小或自定义规则切割文件。
split [选项] 输入文件 [输出文件前缀]
-l 行数
:按行数切割。-b 大小
:按大小切割(如 10M
、1G
)。-d
:使用数字后缀(默认是字母后缀,如 xaa
, xab
)。--additional-suffix=后缀
:为输出文件添加后缀(如 .txt
)。按行数切割(每1000行一个文件):
split -l 1000 large_file.txt split_file_
生成的文件名类似 split_file_aa
, split_file_ab
。
按大小切割(每10MB一个文件):
split -b 10M large_file.bin split_bin_
使用数字后缀:
split -l 500 -d large_file.txt split_num_
生成的文件名类似 split_num_00
, split_num_01
。
添加自定义后缀(如 .part
):
split -l 2000 --additional-suffix=.part large_file.txt split_part_
生成的文件名类似 split_part_aa.part
。
csplit
命令csplit
可以根据内容匹配模式切割文件(如按分隔符或正则表达式)。
按特定分隔符(如 "---"
)切割文件:
csplit large_file.txt '/^---$/' '{*}'
生成的文件名为 xx00
, xx01
等。
dd
命令(按字节精确切割)dd
适合二进制文件的精确切割,但需要手动计算偏移量。
从一个大文件中提取前1MB数据:
dd if=large_file.bin of=part1.bin bs=1M count=1
logrotate
)如果是日志文件,可以使用 logrotate
工具按时间或大小自动切割和管理。
使用 cat
命令合并:
cat split_file_* > restored_file.txt
split -b
或 dd
。根据需求选择合适的工具即可!