Linux命令之分割文件split
  TEZNKK3IfmPf 2023年11月14日 25 0

概述

split 命令可以用于切割文件,将大文件切割成几个小文件。
Linux命令之分割文件split

注意:

  • 默认是每 1000 行切割成一个小文件。
  • 切割后文件的默认前缀是 x,默认按照 xaaxabxac 文件名顺序。

语法

该命令的语法如下:

split [--help][--version][-<行数>][-b <字节>][-C <字节>][-l <行数>][要切割的文件][输出文件名]

该命令支持的选项有:

选项 说明
-a, --suffix-length=N 生成长度为N的后缀(默认值2)
–additional-suffix=SUFFIX 在文件名后面附加一个附加后缀
-b, --bytes=SIZE 指定每多少字节切成一个小文件,大小是一个整数和可选单位(例如:10M是1010241024)。单位是K,M,G,T,P,E,Z,Y(1024的幂)还是KB,MB。。。(1000次幂)
-C, --line-bytes=SIZE 每个输出文件最多放置行的大小字节
-d, --numeric-suffixes[=FROM] 使用数字后缀代替字母;从更改开始值(默认为0)
-e, --elide-empty-files 不使用“-n”生成空输出文件
–filter=COMMAND 写入shell命令;文件名为$file
-l, --lines=NUMBER 指定每多少行切成一个小文件
-n, --number=CHUNKS 生成CHUNKS输出文件
-u, --unbuffered 立即用“-n r/…”将输入复制到输出
–verbose 输出命令的执行过程
–help 显示帮助信息
–version 显示版本信息

使用

按大小切割文件

我们可以按照大小来切割文件,比如 20M10K50MB 这样的大小来进行切割。格式如下:

# 语法
split -b 切割大小 待切割文件
# 示例,将 test.txt 文件每 10M 大小切割成一个小文件
split -b 10M test.txt

Linux命令之分割文件split

按行数切割文件

我们还可以按行数来切割文件,即每多少行一个文件,但每一行的字符个数不同,所以切割后的文件实际大小并不等。命令格式如下:

# 语法
split -l 行数 待切割文件
split -行数 待切割文件
# 示例
split -l 2 log.txt
split -2 log.txt

Linux命令之分割文件split

指定切割后的小文件名

如果我们不想要默认的 xaaxab 这样的默认文件名,可以自己指定切割后的文件名:

# 语法
split -行数 待切割文件 切割后的小文件名
# 示例
split -2 log.txt log.txt.split

Linux命令之分割文件split

注:只不过是以 x 开头了,而是以指定文件名开头,后面仍然是 aaabac 等。

指定切割后的小文件后缀

我们可以给切割后的小文件指定后缀:

# 语法
split --additional-suffix=指定后缀 待切割文件
# 示例,指定 log.txt 文件切割后的后缀为 .split-txt
split -2 --additional-suffix=.split-txt log.txt 

Linux命令之分割文件split

使用数字替代字符文件名

如果我们想要用 x00x01 这样的数字替代 xaaxab 这样的文件名,可以使用如下格式的命令:

# 语法
split -d 待切割文件
# 示例
split -2 -d log.txt

Linux命令之分割文件split

选项组合使用

我们可以多个选项组合一起使用,就可以生成更完整的切割后的文件名了。如下:

# 语法
split -l 行数 -d --additional-suffix=指定后缀 待切割文件 切割后的小文件名
split -b 切割大小 -d --additional-suffix=指定后缀 待切割文件 切割后的小文件名
# 示例
split -b 10M -d --additional-suffix=.split-txt test.txt test

Linux命令之分割文件split

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年05月31日   51   0   0 linux服务器
  TEZNKK3IfmPf   2024年05月31日   29   0   0 linux服务器centos
  TEZNKK3IfmPf   2024年05月31日   29   0   0 linuxbind
  TEZNKK3IfmPf   2024年05月31日   39   0   0 linuxshell
TEZNKK3IfmPf