Linux split命令可以将一个大文件分割成指定大小的很多个小文件,并且拆分速度非常的快,有时需要将文件分割成更小的片段,比如为提高可读性,生成日志。拆分一个1G大小的文件不到1秒的时间就可以完成,如果在Windows系统上进行操作估计会很卡很卡。
选项
Mandatory arguments to long options are mandatory for short options too.
-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 explanation below
-u, --unbuffered immediately copy input to output with '-n r/...'
--verbose 在每个输出文件打开前输出文件特征
--help 显示此帮助信息并退出
--version 显示版本信息并退出
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).
CHUNKS may be:
N split into N files based on size of input
K/N output Kth of N to stdout
l/N split into N files without splitting lines
l/K/N output Kth of N to stdout without splitting lines
r/N like 'l' but use round robin distribution
r/K/N likewise but only output Kth of N to stdout
GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
请向<http://translationproject.org/team/zh_CN.html> 报告split 的翻译错误
要获取完整文档,请运行:info coreutils 'split invocation'
版本
由Torbjörn Granlund 和Richard M. Stallman 编写。
语法
split(选项)(file)PREFIX
实例
1.根据行拆分
2.按字节进行拆分
每三个字节拆分成一个文件,默认不加单位就是字节,也可以带单位比如KB,MB等
3.生成一个大小为100KB的测试文件:
5.此时文件被分割成多个带有字母的后缀文件,如果你想用数字后缀可使用-d参数,同时可以使用-a length来指定后缀的长度:
6.为分割后的文件指定文件名的前缀:
7.使用-l选项根据文件的行数来分割文件,例如把文件分割成每个包含10行的小文件:
8.将split分割的文件合并成一个
总结
Linux下的spit命令非常实用,比如导入数据时将文件进行拆分并导入会快很多。