Chinaunix首页 | 论坛 | 博客
  • 博客访问: 44665
  • 博文数量: 11
  • 博客积分: 380
  • 博客等级: 一等列兵
  • 技术积分: 122
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-14 19:58
文章分类
文章存档

2014年(2)

2010年(9)

我的朋友

分类: LINUX

2014-12-29 09:31:06

用法:split [选项]... [输入 [前缀]]
将输入内容拆分为固定大小的分片并输出到"前缀aa"、"前缀ab",...;
默认以 1000 行为拆分单位,默认前缀为"x"。如果不指定文件,或
者文件为"-",则从标准输入读取数据。

长选项必须使用的参数对于短选项时也是必需使用的。 
  -a, --suffix-length=N    指定后缀长度为N (默认为2)
  -b, --bytes=大小        指定每个输出文件的字节大小
  -C, --line-bytes=大小    指定每个输出文件里最大行字节大小
  -d, --numeric-suffixes     使用数字后缀代替字母后缀
  -l, --lines=数值        指定每个输出文件有多少行
      --verbose        在每个输出文件打开前输出文件特征
      --help        显示此帮助信息并退出
      --version        显示版本信息并退出

SIZE 可以是一个可选的整数,后面跟着以下单位中的一个:
KB 1000,K 1024,MB 1000*1000,M 1024*1024,还有 G、T、P、E、Z、Y。

例子:
$ ls -l
-rw-r--r-- 1 user user 3773144  5月 26 10:54 splittest.tar.bz2

$split -a 3 -d -b 800KB splittest.tar.bz2 sp
-a 3   #指定后辍为3位
-d     #指定后辍为数字,而不是默认的aa ab等
-b 800KB #分割的大小
sp     #前辍

$ls -l
-rw-r--r-- 1 user user  800000  5月 26 11:05 sp000
-rw-r--r-- 1 user user  800000  5月 26 11:05 sp001
-rw-r--r-- 1 user user  800000  5月 26 11:05 sp002
-rw-r--r-- 1 user user  800000  5月 26 11:05 sp003
-rw-r--r-- 1 user user  573144  5月 26 11:05 sp004
-rw-r--r-- 1 user user 3773144  5月 26 10:54 splittest.tar.bz2
可以看到,sp000-sp004就是分割后的文件。


合并:
$cat sp00* >splittest1.tar.bz2
$ls -l
-rw-r--r-- 1 user user  800000  5月 26 11:05 sp000
-rw-r--r-- 1 user user  800000  5月 26 11:05 sp001
-rw-r--r-- 1 user user  800000  5月 26 11:05 sp002
-rw-r--r-- 1 user user  800000  5月 26 11:05 sp003
-rw-r--r-- 1 user user  573144  5月 26 11:05 sp004
-rw-r--r-- 1 user user 3773144  5月 26 11:11 splittest1.tar.bz2
-rw-r--r-- 1 user user 3773144  5月 26 10:54 splittest.tar.bz2
可以看到,合并后的文件splittest1.tar.bz2与分割前的splittest.tar.bz2大小是一致的

$ md5sum splittest1.tar.bz2
12951203bd64c314d14a57b5d57f2592  splittest1.tar.bz2
$ md5sum splittest.tar.bz2
12951203bd64c314d14a57b5d57f2592  splittest.tar.bz2

分别比较两个文件的MD5校验,可以确认合并是正确的。

阅读(1261) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~