当前位置: 首页 > news >正文

Linux(Centos 7.6)命令详解:split

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.lryc.cn/news/520808.html

相关文章:

  • 八股学习 Redis
  • 如何通过高防服务隐藏服务器源IP
  • 【WEB】网络传输中的信息安全 - 加密、签名、数字证书与HTTPS
  • 借助Claude实现Playwright的自动化(MCP Server)
  • 【区间DP】【hard】力扣730. 统计不同回文子序列
  • 【Vim Masterclass 笔记11】S06L24 + L25:Vim 文本的插入、变更、替换与连接操作同步练习(含点评课)
  • 分布式组件底层逻辑是什么?
  • Spring Boot中的扫描注解如何使用
  • 初识JVM HotSopt 的发展历程
  • 基于springboot果蔬供应链信息管理平台
  • 掌握 React 关键:理解 super () 和 super (props) 的不同应用
  • Scala语言的软件开发工具
  • 斯坦福大学李飞飞教授团队ARCap: 利用增强现实反馈收集高质量的人类示教以用于机器人学习
  • 【Linux】从零开始:编写你的第一个Linux进度条小程序
  • web前端第八次作业---制作音乐榜单
  • 心脏扩散张量成像中的异常值检测:射击拒绝还是稳健拟合?|文献速递-视觉大模型医疗图像应用
  • Linux Kernel 之十 详解 PREEMPT_RT、Xenomai 的架构、源码、构建及使用
  • RabbitMQ-消息消费确认
  • E10.【C语言】练习:编写一个猜数字游戏
  • RK3568-rk809rtc休眠唤醒
  • 【Uniapp-Vue3】pages.json页面路由globalStyle的属性
  • NHANES数据挖掘|特征变量对死亡率预测的研究设计与分析
  • 【Sharding-JDBC学习】概述_shardingsphere-jdbc 和sharding-jdbc
  • 用户登录/登出功能,当登录页面在另一域名下
  • 自动化解决方案:修复devicedisplaystatusmanager.dll丢失
  • .Net8 Avalonia跨平台UI框架——<vlc:VideoView>控件播放海康监控、摄像机视频(Windows / Linux)
  • 网络协议(八):IP 协议
  • 深度解析 pytest 参数化与 --count 执行顺序的奥秘
  • 【traefik】forwadAuth中间件跨namespace请求的问题
  • java学习记录16