Linux命令之分割文件split
概述
split 命令可以用于切割文件,将大文件切割成几个小文件。
注意: 默认是每 1000 行切割成一个小文件。 切割后文件的默认前缀是 x,默认按照 xaa、xab、xac 文件名顺序。
语法
该命令的语法如下:
split [--help][--version][-<行数>][-b <字节>][-C <字节>][-l <行数>][要切割的文件][输出文件名]
该命令支持的选项有:
使用
按大小切割文件
我们可以按照大小来切割文件,比如 20M、10K、50MB 这样的大小来进行切割。格式如下:
# 语法 split -b 切割大小 待切割文件 # 示例,将 test.txt 文件每 10M 大小切割成一个小文件 split -b 10M test.txt
按行数切割文件
我们还可以按行数来切割文件,即每多少行一个文件,但每一行的字符个数不同,所以切割后的文件实际大小并不等。命令格式如下:
# 语法 split -l 行数 待切割文件 split -行数 待切割文件 # 示例 split -l 2 log.txt split -2 log.txt
指定切割后的小文件名
如果我们不想要默认的 xaa、xab 这样的默认文件名,可以自己指定切割后的文件名:
# 语法 split -行数 待切割文件 切割后的小文件名 # 示例 split -2 log.txt log.txt.split
注:只不过是以 x 开头了,而是以指定文件名开头,后面仍然是 aa、ab、ac 等。
指定切割后的小文件后缀
我们可以给切割后的小文件指定后缀:
# 语法 split --additional-suffix=指定后缀 待切割文件 # 示例,指定 log.txt 文件切割后的后缀为 .split-txt split -2 --additional-suffix=.split-txt log.txt
使用数字替代字符文件名
如果我们想要用 x00、x01 这样的数字替代 xaa、xab 这样的文件名,可以使用如下格式的命令:
# 语法 split -d 待切割文件 # 示例 split -2 -d log.txt
选项组合使用
我们可以多个选项组合一起使用,就可以生成更完整的切割后的文件名了。如下:
# 语法 split -l 行数 -d --additional-suffix=指定后缀 待切割文件 切割后的小文件名 split -b 切割大小 -d --additional-suffix=指定后缀 待切割文件 切割后的小文件名 # 示例 split -b 10M -d --additional-suffix=.split-txt test.txt test
