0x00前言
当一个几百G的大文件需要分割成多个小文件,Linux下的split命令可以按行、按文件大小分割。
0x01使用
split [-bl] filename 生成文件的前缀名
在Linux命令行输入split –help可以弹出使用信息如下:
-a, --suffix-length=N generate suffixes of length N (default 2)
--additional-suffix=SUFFIX append an additional SUFFIX to file names.
-b, --bytes=SIZE put SIZE bytes per output file
-C, --line-bytes=SIZE put at most SIZE bytes of lines per output file
-d, --numeric-suffixes[=FROM] use numeric suffixes instead of alphabetic.
FROM changes the start value (default 0).
-e, --elide-empty-files do not generate empty output files with '-n'
--filter=COMMAND write to shell COMMAND; file name is $FILE
-l, --lines=NUMBER put NUMBER lines per output file
-n, --number=CHUNKS generate CHUNKS output files. See below
-u, --unbuffered immediately copy input to output with '-n r/...'
--verbose print a diagnostic just before each
output file is opened
--help display this help and exit
--version output version information and exit
SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units
are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of 1000).
常用参数介绍:
-a 设置切割后文件名的可变范围(默认为2)即xaa-xzz
-b 设置按大小分割文件(可以使用K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of 1000))
-C 设置每一行的最大bytes
-d 将输出文件名可变改为数字模式(未改变-a参数的话,文件名:x00-x99)
-e 省略空文件输出
-l 设置按文件行数分割文件
0x02使用实例:
1、将文件test.txt按每100M大小分割,并且前缀名为test
split -b 100M test.txt test
2、将文件test.txt按每10000行分割,前缀名为test,并设置文件命名为数字
split -l 10000 -d test.txt test