split - split a file into pieces

按照指定的行数或大小分割文件

语法: split [OPTION]... [INPUT [PREFIX]]

  • Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; 指定前缀后面跟的分割的文件的序列为aa,ab,ac,...
  • default size is 1000 lines, 默认的分割大小为1000行
  • and default PREFIX is 'x'.   如不指定前缀,默认的前缀为x
  • With no INPUT, or when INPUT is -, read standard input.  如果文件没有输入,或者输入是-,则可以读取标准输入。

示例:

 # 数据准备,将/etc/passwd的数据导入到split_test.txt
# 查看split_test.txt的内容
[root@oldboy oldboy]# head -1 split_test.txt
root:x:0:0:root:/root:/bin/bash
[root@oldboy oldboy]# wc -l split_test.txt
72 split_test.txt # 将文件按行分文件,按30行作为分割条件
# 在不指定前缀的情况下,默认的输出的文件的文件名前缀为"x"
[root@oldboy oldboy]# split -l 30 split_test.txt
[root@oldboy oldboy]# ls
date_str.txt split_test.txt test.sh xaa xab xac # 指定输出文件的前缀
[root@oldboy oldboy]# split -l 40 split_test.txt new_prefix_
[root@oldboy oldboy]# ls new*
new_prefix_aa new_prefix_ab

参数:

  • -a, --suffix-length=N

    • use suffixes of length N (default 2)
    • 指定生成文件后缀长度
    •  [root@oldboy oldboy]# split -l 40 -a 4 split_test.txt arg_a_test_
      [root@oldboy oldboy]# ls arg*
      arg_a_test_aaaa arg_a_test_aaab
  • -b, --bytes=SIZE

    • put SIZE bytes per output file
    • 指定字节大小分割文件
    •  # 按1k切割文件
      [root@oldboy oldboy]# split -b 1k split_test.txt
      [root@oldboy oldboy]# ls x*
      xaa xab xac # 查看输出的文件的行数
      [root@oldboy oldboy]# wc -l x*
      23 xaa
      25 xab
      24 xac
      72 total # 查看文件的大小
      [root@oldboy oldboy]# ll -h x*
      -rw-r--r-- 1 root root 1.0K Nov 5 23:08 xaa
      -rw-r--r-- 1 root root 1.0K Nov 5 23:08 xab
      -rw-r--r-- 1 root root 1010 Nov 5 23:08 xac
  • -C, --line-bytes=SIZE
    • put at most SIZE bytes of lines per output file
    • 与参数"-b"相似,但是在切割时将尽量维持每行的完整性
  • -d, --numeric-suffixes

    • use numeric suffixes instead of alphabetic
    • 使用数字后缀
    •  [root@oldboy oldboy]# split -l 40 -d split_test.txt arg_d_test_
      [root@oldboy oldboy]# ls arg_d_test_*
      arg_d_test_00 arg_d_test_01
  • -l, --lines=NUMBER

    • put NUMBER lines per output file
    • 按行分割文件

【Linux常见命令】split命令的更多相关文章

  1. Linux下的split 命令(将一个大文件根据行数平均分成若干个小文件)

    将一个大文件分成若干个小文件方法 例如将一个BLM.txt文件分成前缀为 BLM_ 的1000个小文件,后缀为系数形式,且后缀为4位数字形式 先利用 wc -l BLM.txt       读出 BL ...

  2. linux下用split命令将一个大的文件拆分成若干小文件

    命令 split -l 50 wlan_date.txt wlan 说明:按50行给文件进行拆分,如果没有最后面的参数,命名将会是xaa,xab等.

  3. Linux常见目录及命令介绍

    一.Linux中常用的目录介绍:     /        -根目录     /bin    -命令保存目录(普通用户亦可读取的命令)     /boot    -启动目录,启动相关文件     /d ...

  4. linux 常见名词及命令(三)

    tar 用于对文件打包压缩或解压. 示例: 打包并压缩文件:tar -czvf 压缩包名.tar.gz 文件名 解压并展开压缩包:tar -zxvf 压缩包名.tar.gz -c 创建压缩文件 -x ...

  5. Linux(CentOS)用split命令分割文件

    在 Linux 里,稍加不注意有可能会产生很大体积的日志文件,哪怕几百M,拖下来分析也很浪费时间,这个时候,如果可以把文件切割成 N 个小文件,拿最后一个文件就可以看到最近的日志了.有一些手段,比如用 ...

  6. linux下使用split命令分割文件且文件号从1开始

    Linux里切割大文件的命令如下: split [OPTION] [INPUT [PREFIX]] 选项如下: -a : 指定后缀长度 -b : 每个文件多少字节 -d : 使用数字后缀而不是字母 - ...

  7. 性能工具之linux常见日志统计分析命令

    引言 我前几天写过的性能工具之linux三剑客awk.grep.sed详解,我们已经详细介绍 linux 三剑客的基本使用,接下来我们看看具体在性能测试领域的运用,本文主要介绍的是在 Tomcat 和 ...

  8. linux 常见名词及命令(一)

    linux  PK  wondows 稳定且有效率.免费或少许费用.漏洞少且修补快.多任务多用户. 安全的用户及文件权限策略.适合小内核程序的嵌入系统.相对不耗资源. 热门的开源系统 红帽企业系统(R ...

  9. linux 常见名词及命令(五)

    计划任务服务之一次性任务: at <时间> 安排一次性任务 atq 或at -l 查看任务列表 at -c 序号 预览任务与设置环境 atrm 序号 删除任务 安排任务示例: 在23:30 ...

  10. Linux常见的Shell命令

    1.具体的shell命令用法可以通过help或man命令进入手册来查询其具体的用法.2.终端本质上对应着linux上的/dev/tty设备,linux的多用户登录就是通过不同的/dev/tty设备完成 ...

随机推荐

  1. 手工注入——sql server (mssql)注入实战和分析

    前言 首先要对sql server进行初步的了解.常用的全部变量@@version:返回当前的Sql server安装的版本.处理器体系结构.生成日期和操作系统.@@servername:放回运行Sq ...

  2. 1030 Travel Plan (30分)(dijkstra 具有多种决定因素)

    A traveler's map gives the distances between cities along the highways, together with the cost of ea ...

  3. servlet web.xml 3.1版本的头信息

    <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmln ...

  4. 微信小程序分享至朋友圈的方法

    最近研究怎么实现微信小程序分享至朋友圈,对就是朋友圈. 微信小程序目前没有直接提供方法来将小程序分享至朋友圈,不过可以采用曲线救国的方式来达到目的. 方法分两步: 1.通过浏览器将希望分享的东西风向至 ...

  5. WIFI:802.11无线LAN

    IEEE 802.11 无线LAN(也称WiFi) IEEE是什么 电气和电子工程师协会(IEEE,全称是Institute of Electrical and Electronics Enginee ...

  6. linux被当矿机排查案例

    1.发现服务器变的特别卡,正常服务运行很慢. 到服务器上查询一番发现top下发现     bashd的进程占用100%CPU了. find /-name bashd* //第一次查询文件占用目录kil ...

  7. 路由与交换,cisco路由器配置,静态路由

    网络是一个大型的拓扑结构,在路由表中,最重要的是管理距离和度量值 管理距离 管理距离用来确定路由的优先级.管理距离的范围是0-255之间的整数值.值越低代表优先级越高.0代表最高优先级.并且只有直连路 ...

  8. C++11中的四种类型转换

    static_cast 基础数据类型转换(基本类型) 同一继承体系中类型的转换(父子类型) 任意类型与空指针(void *)之间的转换(指针类型) dynamic_cast 执行派生类指针或引用与基类 ...

  9. 31.3 自定义异常类 MyException

    /* * 异常的分类: 运行时期异常:RuntimeException的子类就是运行时期异常,在编译时期可以自由选择处理或者不处理 编译时期异常:是Exception的子类,非RuntimeExcpe ...

  10. matplotlib TransformedBbox 和 LockableBbox

    TransformedBbox 和 LockableBbox 都是BboxBase的子类.TransformedBbox支持使用变换来初始化bbox, LockableBbox可实现锁定bbox的边不 ...