split切割⽂件命令详解
⽂章⽬录
1. split介绍失恋阵线联盟泰语
split命令可以将⼀个⼤⽂件分割成很多个⼩⽂件,有时需要将⽂件分割成更⼩的⽚段,⽐如为提⾼可读性,⽣成⽇志等。
2. split参数
-a,--suffix-length=N  use suffixes of length N (default2)  #输出⽂件后缀长度,默认为:2
-b,--bytes=SIZE  put SIZE bytes per output file      #按照⽂件⼤⼩分割⽂件,单位:字节
⼀个字节=8位⼆进制数(1byte ==8bit)
ASCII码:⼀个英⽂字母(不分⼤⼩写)占⼀个字节的空间,⼀个中⽂汉字占两个字节的空间
UTF-8编码:⼀个英⽂字符等于⼀个字节,⼀个中⽂(含繁体,及中⽂标点)等于三个字节
Unicode编码:⼀个英⽂(含标点)等于两个字节,⼀个中⽂(含繁体,及中⽂标点)等于两个字节
-d,--numeric-suffixes  use numeric suffixes instead of alphabetic  #添加数字后缀(因为默认添加的是字母后缀,所有要想加数字需要⾃⼰添加)
-l,--lines=NUMBER      put NUMBER lines per output file  #按照⾏数分割⽂件,默认1000⾏⼀个⽂件
--verbose  print a diagnostic just before each output file is opened  #打印运⾏状态信息
--help    display this help and exit          查看说明⽂档
--version  output version information and exit 查看版本信息
3. split实战
3.2 默认切割
默认情况下,split 命令使⽤⾮常简单的命名⽅案。⽂件块将被命名为 xaa、xab、xac 等,并且,⼤概地,如果你将⾜够⼤的⽂件分割,你甚⾄可能会得到名为 xza 和 xzz 的块。
除⾮你要求,否则该命令将⽆任何反馈地运⾏。
$ split bigfile
3.2 --verbose创建⽂件块时看到反馈
你是我手心里的宝$ split –-verbose bigfile
creating file'xaa'
creating file'xab'
新恋爱时代下载creating file'xac'
3.3 原始⽂件分割并命名为 bigfile.aa、bigfile.ab
$ split –-verbose bigfile bigfile.
creating file'bigfile.aa'
creating file'bigfile.ab'
creating file'bigfile.ac'
请注意,上述命令中显⽰的前缀的末尾会添加⼀个点。否则,⽂件将是 bigfileaa 之类的名称,⽽不是 bigfile.aa。
请注意,split 命令不会删除你的原始⽂件,只是创建了⽂件块。
3.4 -b 指定⽂件块的⼤⼩
$ split -b100M bigfile
⽂件⼤⼩可以是 KB、MB,GB,最⼤可以是 YB!只需使 K、M、G、T、P、E、Z 和 Y 这些合适的字母。
芦芳生女友
房祖名3.5 -l选项根据⽂件的⾏数来分割⽂件
每个⽂件将有 1000 ⾏
$ split --verbose -l1000 logfile log.
creating file'log.aa'
creating file'log.ab'
creating file'log.ac'
creating file'log.ad'
creating file'log.ae'
creating file'log.af'
creating file'log.ag'
future kisscreating file'log.ah'
creating file'log.ai'
creating file'log.aj'
3.6 cat合并与原⽂件⽆差别
$ split --verbose -b50K zip zip.
creating file'zip.aa'
creating file'zip.ab'
creating file'zip.ac'
creating file'zip.ad'
creating file'zip.ae'
$ cat zip.a? > w
$ diff w
$                    <==⽆输出=⽆差别
3.7 -d⽤数字后缀,同时可以使⽤-a length来指定后缀的长度:
$ split -b 10k date.file -d -a 3
$ ls
date.file  x000  x001  x002  x003  x004  x005  x006  x007  x008  x009
为分割后的⽂件指定⽂件名的前缀:
$ split -b 10k date.file -d -a 3 split_file
$ ls
date.file  split_file000  split_file001  split_file002  split_file003  split_file004  split_file005  split_file006  split_file007  split_file008  split_file009