在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。根据需求选择合适的工具即可!