Linux(Centos 7.6)命令详解:split

news/2025/1/15 15:03:08/

1.命令作用

Linux系统中的一个用于拆分文件的命令。它可以将一个大文件拆分成多个小文件,以便于传输、存储或处理

2.命令语法

Usage: split [OPTION]... [INPUT [PREFIX]]

Usage: split [选项]... [输入文件] [输出文件前缀]

3.参数详解

OPTION:

  • -a, --suffix-length=N,生成分裂后文件名称的后缀长度为N,默认为2
  • -b, --bytes=SIZE,指定每个分裂后输出文件的大小,大小可以使用后缀(如K、M、G)来表示,默认单位是字节
  • -C, --line-bytes=SIZE,基于不拆分,指定每个分裂后输出文件的大小,大小可以使用后缀(如K、M、G)来表示,默认单位是字节
  • -d, --numeric-suffixes[=FROM],使用数字后缀而不是字母后缀;FROM更改起始值(默认为0)
  • -l, --lines=NUMBER,指定每个输出文件的行数
  • -n, --number=CHUNKS,CHUNKS可以是N、K/N、l/N、l/K/N、r/N、r/K/N
    • N,根据大小将文件输出N份
    • K/N,按大小分成N份,直接输出第K份
    • l/N,根据大小将文件输出N份,l代表不拆分行
    • l/K/N,基于不拆分行,按大小分成N份,直接输出第K份
  • -u, --unbuffered,与'-n r/...'使用,立即将输入复制到输出(无缓冲)
  • --verbose,在打开每个输出文件之前打印诊断

4.常用用例

4.1.按大小拆分

## 按照2MB大小拆分文件,会拆分行保证文件大小一致
split -b 2MB data.csv## 按照2MB大小拆分文件,
split -C 2MB data.csv,不会拆分行,文件大小有细微差距

4.2.按行数拆分

## 每30行拆分为一个文件,直到文件拆分完,拆分最后文件不足30行的,直接拆成一个文件
split -30 data.csv
split -l 30 data.csv

4.3.按个数拆分

## 按照大小拆分为10个文件,会拆分行
split -n 10 data.csv## 按照大小拆分为10个文件,不会拆分行
split -n l/10 data.csv

4.4.拆分后文件命名

注:以上拆分都是以默认的名称命名,默认名称规则为xaa到xzz,x为固定字母,aa到zz是以字母顺序命名

1.指定命名前缀,即自定义x部分

## 指定拆分后文件名称前面部分为a_split
[root@localhost test]# split -d -a 3 -n 2 a.txt a_split
[root@localhost test]# ll
total 304
-rw-r--r--. 1 root root  76806 Jan 11 02:07 a_split000
-rw-r--r--. 1 root root  76806 Jan 11 02:07 a_split001
-rw-r--r--. 1 root root 153612 Jan 10 19:33 a.txt

2.指定命名后缀位数,即自定义aa-zz部分

## 后缀改为3位
[root@localhost test]# ll
total 152
-rw-r--r--. 1 root root 153612 Jan 10 19:33 a.txt
[root@localhost test]# split -a 3 -n 2 a.txt 
[root@localhost test]# ll
total 304
-rw-r--r--. 1 root root 153612 Jan 10 19:33 a.txt
-rw-r--r--. 1 root root  76806 Jan 11 02:04 xaaa
-rw-r--r--. 1 root root  76806 Jan 11 02:04 xaab## 改为数字后缀,且为3位
[root@localhost test]# split -d -a 3 -n 2 a.txt
[root@localhost test]# ll
total 304
-rw-r--r--. 1 root root 153612 Jan 10 19:33 a.txt
-rw-r--r--. 1 root root  76806 Jan 11 02:06 x000
-rw-r--r--. 1 root root  76806 Jan 11 02:06 x001

http://www.ppmy.cn/news/1563347.html

相关文章

JVM虚拟机的组成 笼统理解 六大部分 类加载子系统 运行时数据区 执行引擎 本地接口 垃圾回收器 线程工具

目录 JVM虚拟机的组成:概述 JVM虚拟机的组成:详细解析 1. 类加载子系统 2. 运行时数据区 3. 执行引擎 4. 本地接口 5. 垃圾回收器 6. 线程管理与调试工具 概述 JVM(Java Virtual Machine)是一个虚拟计算机,执行…

用gpg和sha256验证ubuntu.iso

链接 https://ubuntu.com/tutorials/how-to-verify-ubuntuhttps://releases.ubuntu.com/jammy/ 本文是2的简明版 sha256sum介绍 sha256sum -c SHA256SUMS 2>&1这段脚本的作用是验证文件的 SHA-256 校验和。具体来说,命令的各个部分含义如下: …

[创业之路-248]:《华为流程变革:责权利梳理与流程体系建设》华为流程的前端拉动后端,与计算机软件的前端应用与后端程序的类比关系

华为的前端拉动后端模式与计算机前端应用与后端程序的类比关系,虽然两者属于不同的领域,但在某些方面存在有趣的相似性。以下是对这两者的类比关系的详细探讨: 一、华为的前端拉动后端模式 定义与特点: 华为的前端拉动后端模式是…

【2025最新】Poe保姆级订阅指南,Poe订阅看这一篇就够了!最方便使用各类AI!

1.Poe是什么? Poe, 全称Platform for Open Exploration。 Poe本身并不提供基础的大语言模型,而是整合多个来自不同科技巨头的基于不同模型的AI聊天机器人,其中包括来自OpenAI的ChatGPT,Anthropic的Claude、Google的PaLM&#xf…

使用Python实现深度强化学习的自动驾驶模拟

友友们好! 我的新专栏《Python进阶》正式启动啦!这是一个专为那些渴望提升Python技能的朋友们量身打造的专栏,无论你是已经有一定基础的开发者,还是希望深入挖掘Python潜力的爱好者,这里都将是你不可错过的宝藏。 在这个专栏中,你将会找到: ● 深入解析:每一篇文章都将…

Vue3组件设计模式:高可复用性组件开发实战

Vue3组件设计模式:高可复用性组件开发实战 一、前言 在Vue3中,组件设计和开发是非常重要的,它直接影响到应用的可维护性和可复用性。本文将介绍如何利用Vue3组件设计模式来开发高可复用性的组件,让你的组件更加灵活和易于维护。 二、单一职责…

Docker save load 镜像 tag 为 <none>

一、场景分析 我从 docker hub 上拉了这么一个镜像。 docker pull tomcat:8.5-jre8-alpine 我用 docker save 命令想把它导出成 tar 文件以便拷贝到内网机器上使用。 docker save -o tomcat-8.5-jre8-alpine.tar.gz 镜像ID 当我把这个镜像传到别的机器,并用 dock…

11《直接内存映射-解决考试题(2)》计算机组成与体系结构 系列课

目录 一、引言 二、考题背景与特点 三、考题内容与分析 (一)问题描述 (二)计算缓存行数与元素存储 (三)代码段 P1 与 P2 的缓存未命中分析 (四)计算 M1 与 M2 的比率 四、总…