曾经是否想要把一个大文件分割成多个小文件?比如一个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_...

Linux split命令实例的更多相关文章

  1. Linux split命令详解

    Linux split命令 Linux split命令用于将一个文件分割成数个.该指令将大文件分割成较小的文件,在默认情况下将按照每1000行切割成一个小文件. 将输入内容拆分为固定大小的分片并输出到 ...

  2. 按行切割大文件(linux split 命令简版)

    按行切割大文件(linux split 命令简版) #-*- coding:utf-8 -*- __author__ = 'KnowLifeDeath' ''' Linux上Split命令可以方便对大 ...

  3. Linux find命令实例教程 15个find命令用法

    除了在一个目录结构下查找文件这种基本的操作,你还可以用find命令实现一些实用的操作,使你的命令行之旅更加简易.本文将介绍15种无论是于新手还是老鸟都非常有用的Linux find命令.首先,在你的h ...

  4. 15个Linux Yum命令实例--安装/卸载/更新

    在linux环境中, 安装, 卸载更新包是一个极为常见的操作.大部分的linux环境都提供了包的管理工具, 例如:apt-get, dpkg, rpm, yum等等. 一些Linux环境中,yum是默 ...

  5. Linux Wget 命令实例讲解

    Linux wget是一个下载文件的工具,它用在命令行下.对于Linux用户是必不可少的工具,尤其对于网络管理员,经常要下载一些软件或从远程服务器恢复备份到本地服务器.如果我们使用虚拟主机,处理这样的 ...

  6. 6个Linux chkconfig命令实例 - 增加,删除,查看和修改services的自动启动选项

    注意:service的安装目录在/etc/rc.d/init.d下,/etc/init.d 是/etc/rc.d/init.d的链接. chkconfig命令用来安装,查看或修改 services随系 ...

  7. linux dd命令实例讲解

    转:http://blog.chinaunix.net/uid-28549627-id-3922282.html 提到linux 系统中的dd命令,各位技术博友大多都很熟悉,用法也是好多,今天主要跟大 ...

  8. Linux split 命令用法详解 - 切割文件[转]

    功能说明:切割文件.语 法:split [--help][--version][-<行数>][-b <字节>][-C <字节>][-l <行数>][要切 ...

  9. Linux sed命令实例解析

    最近看project的makefile,又见到了sed的强大编辑能力,在makefile工作之前,通常都是执行脚本或者make menuconfig来配置好各种全局变量.sed活动阶段通常在bash ...

随机推荐

  1. 0.00-050613_Makefile

    # Makefile for the simple example kernel. AS86 =as86 -0 -a LD86 =ld86 -0 AS =gas LD =gld LDFLAGS =-s ...

  2. js中出现问题--Type Syntax error on token "catch", Identifier expected jquery.js

    解决方案: 1.选中jQuery报错的web工程: 2.右键-->Myeclipse-->Exclude From Validation,选中: 3.继续右键Myeclipse--> ...

  3. iOS-使用ALAssetsLibrary获取相册图片视频

    用ALAssetsLibrary获取相册图片视频 ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init]; [library enumera ...

  4. 常用T-CODE ,快捷键

    RSA1 --主界面. RSA8 --后台处理数据源和层次结构,很少使用 RSRT --QUERY 测试  .输入技术名称查询即可 RSRV--分析修复BW对象 RSMO --信息包监测. 检查处理链 ...

  5. gradle_学习_02_gradle多模块构建实例

    一.前言 二.多模块构建 1.工程结构 父工程:weixin-service 子模块:weixin-gz weixin-qy 2.父工程 weixin-service (1)build.gradle ...

  6. idea使用git上传项目到coding

    1.VCS -> import into version control -> create git repository 2.选择要上传的项目根目录 3.选择后,项目里的文件名字变成了绿 ...

  7. nyoj-952-最大四边形 (向量叉乘)

    题目链接 /* Name:nyoj-952-最大四边形 Copyright: Author: Date: 2018/4/27 10:46:24 Description: 枚举一条对角线,再选择一个 看 ...

  8. tensorflow中创建多个计算图(Graph)

    tf程序中,系统会自动创建并维护一个默认的计算图,计算图可以理解为神经网络(Neural Network)结构的程序化描述.如果不显式指定所归属的计算图,则所有的tensor和Operation都是在 ...

  9. HihoCoder1182 欧拉路(Fleury算法)

    描述 小Hi和小Ho破解了一道又一道难题,终于来到了最后一关.只要打开眼前的宝箱就可以通关这个游戏了. 宝箱被一种奇怪的机关锁住: 这个机关是一个圆环,一共有2^N个区域,每个区域都可以改变颜色,在黑 ...

  10. php写入数据到mysql数据库中出现乱码解决方法

    乱码情况: 在选择数据库前加入一句代码即可 mysql_query("set names utf8"); 最后效果