曾经是否想要把一个大文件分割成多个小文件?比如一个5gb日志文件,我们需要把它分成多个小文件,这样我们才有可能使用普通的文本编辑器读取它。有时我们需要传输20gb的大文件到另一台服务器,这就需要我们把它分割成多个文件,这样便于传输数据。下面我们来通过五个实例来讲解它。

实例1、以每个文件1000行分割

split命令分割文件成每个文件1000行,并且文件名依次为 [前缀]aa, [前缀]ab, [前缀]ac等,默认的前缀是X,每个文件的行数为1000行,命令如下:

  1. $ split mylog
  2. $ wc -l *
  3. 4450 mylog
  4. 1000 xaa
  5. 1000 xab
  6. 1000 xac
  7. 1000 xad
  8. 450 xae

实例2、以每个文件20MB分割

分割文件为多个20MB的文件,附带-b选项命令如下:

  1. $ split -b 20M logdata
  2. $ ls -lh | tail -n +2
  3. -rw------- 1 sathiya sathiya 102M Jul 25 18:47 logdata
  4. -rw------- 1 sathiya sathiya  20M Jul 25 19:20 xaa
  5. -rw------- 1 sathiya sathiya  20M Jul 25 19:20 xab
  6. -rw------- 1 sathiya sathiya  20M Jul 25 19:20 xac
  7. -rw------- 1 sathiya sathiya  20M Jul 25 19:20 xad

实例3、以每个文件50MB指定前缀分割

使用–bytes选项把文件分割成多个50MB的文件,–bytes类似-b选项,在第二个参数指定前缀。

  1. $ split --bytes=50M logdata mydatafile
  2. $ ls -lh
  3. total 204M
  4. -rw------- 1 sathiya sathiya 102M Jul 25 18:47 logdata
  5. -rw------- 1 sathiya sathiya  50M Jul 25 19:23 mydatafileaa

实例4、基于行数分割文件

使用-l选项指定行数来把文件分割成多个行数相同的文件。

  1. $ wc -l testfile
  2. 2591 testfile
  3. $ split -l 1500 testfile importantlog
  4. $ wc -l *
  5. 1500 importantlogaa
  6. 1091 importantlogab
  7. 2591 testfile

实例5、以数字后缀命名分割文件

使用-d选项可以指定后缀为数字,如00,01,02..,而不是aa,ab,ac。

  1. $ split -d testfile
  2. $ ls
  3. testfile  x00  x01  x02

可用选项

短选项长选项选项描述-b–bytes=SIZESIZE 值为每一输出档案的大小,单位为 byte。-C–line-bytes=SIZE每一输出档中,单行的最大 byte 数。-d–numeric-suffixes使用数字作为后缀。-l–lines=NUMBERNUMBER 值为每一输出档的列数大小。

测试的时候发现-b 选项老提示出错,没查什么原因,改成--bytes=20000000 了

另外可以复合使用这些选项   比如

split -d --bytes=20000000 testfile aaa_

这样出来的文件是

aaa_00,aaa_01,…… aaa_...

最新文章

  1. nginx配置多个虚拟主机vhost
  2. php上传文件类型
  3. android opengl es代码功能
  4. 关于TCP/IP的三次握手和四次挥手解释
  5. 关于提交form不刷新的问题
  6. 【2016-07-11】Qt远程部署失败,提示"没有那个文件或目录"的解决方法
  7. 添加gogs服务后 web丢失样式问题
  8. 编写一个JavaScript函数 parseQueryString,把URL参数解析为一个对象
  9. Unity3D 之UGUI 滑动条(Slider)
  10. C#与SQLite数据库
  11. lnmp一键安装包安装失败,或者安装下载缓慢的解决办法
  12. zookeeper客户端 zkCli使用及常用命令
  13. hive有关函数
  14. centos下redis安全相关
  15. 记一次安装VS2015后启动失败的修复过程
  16. PJ初赛复习日记
  17. fiddler常用操作之断点
  18. 【Linux】Tree命令安装和使用
  19. Navicat设定mysql定时任务
  20. 3dsmax2016卸载/安装失败/如何彻底卸载清除干净3dsmax2016注册表和文件的方法

热门文章

  1. Deep Learning(Ian Goodfellow) — Chapter2 Linear Algebra
  2. Memcache笔记(1)
  3. 解析Ceph: 恢复与数据一致性
  4. Java_脚本引擎_00_资源帖
  5. LeetCode OJ:Maximum Depth of Binary Tree(二叉树最大深度)
  6. LeetCode OJ:Rotate Array(倒置数组)
  7. MySQL+Node.js连接和操作
  8. yeomen/bower/grunt
  9. 《领域驱动设计 C# 2008 实现》 - 书摘精要
  10. const指针和指向const的指针