split 用法(转)
来源:互联网 发布:东北电力大学网络教育 编辑:程序博客网 时间:2024/04/29 15:03
split用来将大文件分割成小文件。有时文件越来越大,传送这些文件时,首先将其分割可能更容易。使用vi或其他工具诸如sort时,如果文件对于工作缓冲区太大,也会存在一些问题。
因此有时没有选择余地,必须将文件分割成小的碎片。
split命令一般格式:
split -output_file-size input-filename output-filename
这里output-file-size指的是文本文件被分割的行数。split查看文件时,output-file-size选项指定将文件按每个最多1000行分割。如果有个文件有2800,那么将分割成3个文件,分别有1000、1000、800行。每个文件格式为x[aa]到x[zz],x为文件名首字母,[aa]、[zz]为文件名剩余部分顺序字符组合,下面的例子解释这一点。
假定文件bigone.txt有2800行,split命令产生下列文件:
$split bigone.txt
xaa
xab
xac
文件大小为:
Size Filename
1000 xaa
1000 xab
800 xac
可以使用output-file-size选项来分割文件。以下为一个6行文件。
$ pg split1
this is line1
this is line2
this is line3
this is line4
this is line5
this is line6
按每个文件2行分割,命令为:
$ split -2 split1
观察其结果。
$ ls -lt|head
total 205
-rw-r--r-- 1 atiidts staff 28 May 07 14:34 xaa
-rw-r--r-- 1 atiidts staff 28 May 07 14:34 xab
-rw-r--r-- 1 atiidts staff 28 May 07 14:34 xac
文件有6行,split按每个文件两行进行了分割,并按字母顺序命名文件。为进一步确信操作成功,观察一个新文件内容:
$ pg xac
this is line5
this is line6
命令名称:split
使用权限:所有使用者
使用方式:split [OPTION] [INPUT [PREFIX]]
说明:
将一个档案分割成数个。而从 INPUT 分割输出成固定大小的档案,其档名依序为 PREFIXaa, PREFIXab...;PREFIX 预设值为 `x'。若没有 INPUT 档或为 `-',则从标准输入读进资料。
选项:
-b, --bytes=SIZE
SIZE 值为每一输出档案的大小,单位为 byte。
-C, --line-bytes=SIZE
每一输出档中,单行的最大 byte 数。
-l, --lines=NUMBER
NUMBER 值为每一输出档的列数大小。
-NUMBER
与 -l NUMBER 相同。
--verbose
于每个输出档被开启前,列印出侦错资讯到标准错误输出。
--help
命令名称:split
使用权限:所有使用者
使用方式:split [OPTION] [INPUT [PREFIX]]
说明:
将一个档案分割成数个。而从 INPUT 分割输出成固定大小的档案,其档名依序为 PREFIXaa, PREFIXab...;PREFIX 预设值为 `x'。若没有 INPUT 档或为 `-',则从标准输入读进资料。
选项:
-b, --bytes=SIZE
SIZE 值为每一输出档案的大小,单位为 byte。
-C, --line-bytes=SIZE
每一输出档中,单行的最大 byte 数。
-l, --lines=NUMBER
NUMBER 值为每一输出档的列数大小。
-NUMBER
与 -l NUMBER 相同。
--verbose
于每个输出档被开启前,列印出侦错资讯到标准错误输出。
--help
我想给一个朋友传一个大视频,有几百M,尝试多种传输办法失败后,最后想到的是把视频切开一片片“邮递”过去给他,让它自己组装起来吧。
[root@pps public_rw]# ls -lh RevolutionOS.rmvb
-rwx------ 1 hoho hoho 276M 2005-09-09 RevolutionOS.rmvb
将将这个276M文件分割成20M的小文件,文件分割操作如下:
用法:split [选项] [输入 [前缀]]
[root@pps public_rw]# split -b 20m RevolutionOS.rmvb RevOS_part_
[root@pps public_rw]# ls -lh
总计 552M
-rwx------ 1 hoho hoho 276M 2005-09-09 RevolutionOS.rmvb
-rw-r--r-- 1 root root 20M 03-19 17:59 RevOS_part_aa
-rw-r--r-- 1 root root 20M 03-19 17:59 RevOS_part_ab
...
-rw-r--r-- 1 root root 20M 03-19 18:00 RevOS_part_am
-rw-r--r-- 1 root root 16M 03-19 18:00 RevOS_part_an
“-b 20m”指定分割文件的大小为20M,文件后面的“RevOS_part_”是分割文件的前缀,最后的是16M的“剩余”文件。
组装文件:
[root@pps public_rw] cat RevOS_part_* > RevolutionOS_RSB.rmvb
这里不怕组装顺序错误,因为分割的时候是按字母顺序排下来的,cat也是按照字母顺序处理的,如果不放心,将组装后的文件哈希对比一下:
[root@pps public_rw]# md5sum RevolutionOS.rmvb
ac7cce07f621b1ed6f692e6df0ac8c16 RevolutionOS.rmvb
[root@pps public_rw]# md5sum RevolutionOS_RSB.rmvb
ac7cce07f621b1ed6f692e6df0ac8c16 RevolutionOS_RSB.rmvb
放心了吧:)
如果要分割的是一个文本文件,比如有好几千行,当然每行的字符数是不等的,想要以行数为分割,比如每100行生成1个文件,只需要 -l 参数,如下:
[root@pps public_rw]# split -l 100 test.txt
其实,如果不加任何参数,默认情况下是以1000行大小来分割的。
- split 用法(转)
- String.split()方法的用法(转)
- Java String.split()用法小结(转)
- Java String.split()用法小结(转)
- Java String.split()用法小结(转)
- Java String.split()用法小结(转)
- [转]C#中Split用法
- string.split()的用法(转)
- split 用法
- split用法
- split用法
- split()用法
- split用法
- Split用法
- SPLIT用法
- split的用法-split(".")无效
- 【转】Java String.split()用法小结
- VBA技巧(二):Split函数用法
- python自动检测文档内码
- Regtop(正则巅峰)使用方法简介
- 生活随笔:哭泣的简历
- C#实现Access导入导出Excel
- 在Windows 2003 中发布 ASP.NET 2.0 无法写 SQL SERVER Express
- split 用法(转)
- sql server 存储过程实现分页------数媒0602李春亮
- 软件设计中的原则(GRASP)
- linux内核移植s3c2410,准备工作
- wince6.0 PB R3 + vs2005 sp1开发平台安装光盘
- SQL Server Mobile 学习(一):环境搭建
- SQL Server Mobile 学习(二):通过 VS2005 创建和连接及操作 SQL Server Mobile 数据库
- SQL Server Mobile 学习(三):SQL Server Mobile 远程数据访问(RDA)
- socketpair 双向管道