Linux Command split 切割文件

简介: Linux Command split 切割文件

Linux Command split 切割文件

文章目录

Linux Command split 切割文件

1. 简介

2. 参数

3. 举例

3.2 默认切割

3.2 `--verbose` 创建文件块时看到反馈

3.3 原始文件分割并命名为 bigfile.aa、bigfile.ab

3.4 -b 指定文件块的大小

3.5 -l 根据文件行数来分割文件

3.6 cat 合并与原文件无差别

3.7 -d 用数字后缀

1. 简介

split命令可以将一个大文件分割成很多个小文件,有时需要将文件分割成更小的片段,比如为提高可读性,生成日志等。

2. 参数

-a, --suffix-length=N   use suffixes of length N (default 2)   #输出文件后缀长度,默认为:2
-b, --bytes=SIZE   put SIZE bytes per output file       #按照文件大小分割文件,单位:字节
一个字节 = 8位二进制数(1byte == 8bit)
ASCII码:一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间
UTF-8编码:一个英文字符等于一个字节,一个中文(含繁体,及中文标点)等于三个字节
Unicode编码:一个英文(含标点)等于两个字节,一个中文(含繁体,及中文标点)等于两个字节
-d, --numeric-suffixes  use numeric suffixes instead of alphabetic  #添加数字后缀(因为默认添加的是字母后缀,所有要想加数字需要自己添加)
-l, --lines=NUMBER      put NUMBER lines per output file   #按照行数分割文件,默认1000行一个文件
--verbose  print a diagnostic just before each output file is opened  #打印运行状态信息
--help     display this help and exit          查看说明文档
--version  output version information and exit 查看版本信息

3. 举例

3.1 默认切割

默认情况下,split 命令使用非常简单的命名方案。文件块将被命名为 xaa、xab、xac 等,并且,大概地,如果你将足够大的文件分割,你甚至可能会得到名为 xza 和 xzz 的块。

除非你要求,否则该命令将无任何反馈地运行。

$ split bigfile

3.2 --verbose 创建文件块时看到反馈

$ split –-verbose bigfile
creating file 'xaa'
creating file 'xab'
creating file 'xac'

3.3 原始文件分割并命名为 bigfile.aa、bigfile.ab

$ split –-verbose bigfile bigfile.
creating file 'bigfile.aa'
creating file 'bigfile.ab'
creating file 'bigfile.ac'

请注意,上述命令中显示的前缀的末尾会添加一个点。否则,文件将是 bigfileaa 之类的名称,而不是 bigfile.aa。

请注意,split 命令不会删除你的原始文件,只是创建了文件块。

3.4 -b 指定文件块的大小

$ split -b100M bigfile

文件大小可以是 KB、MB,GB,最大可以是 YB!只需使 K、M、G、T、P、E、Z 和 Y 这些合适的字母。

3.5 -l 根据文件行数来分割文件

每个文件将有 1000 行

$ split --verbose -l1000 logfile log.
creating file 'log.aa'
creating file 'log.ab'
creating file 'log.ac'
creating file 'log.ad'
creating file 'log.ae'
creating file 'log.af'
creating file 'log.ag'
creating file 'log.ah'
creating file 'log.ai'
creating file 'log.aj'

3.6 cat 合并与原文件无差别

$ split --verbose -b50K zip zip.
creating file 'zip.aa'
creating file 'zip.ab'
creating file 'zip.ac'
creating file 'zip.ad'
creating file 'zip.ae'
$ cat zip.a? > zip.new
$ diff zip zip.new
$                    <== 无输出 = 无差别

3.7 -d 用数字后缀

同时可以使用-a length来指定后缀的长度:

$ split -b 10k date.file -d -a 3
$ ls
date.file  x000  x001  x002  x003  x004  x005  x006  x007  x008  x009

为分割后的文件指定文件名的前缀:

$ split -b 10k date.file -d -a 3 split_file
$ ls
date.file  split_file000  split_file001  split_file002  split_file003  split_file004  split_file005  split_file006  split_file007  split_file008  split_file009

更多阅读:

相关文章
|
1天前
|
算法 Linux Windows
Linux|如何查找和删除重复文件
Linux|如何查找和删除重复文件
8 1
|
18小时前
|
Linux 数据处理
探索Linux下的readelf命令:深入了解ELF文件
`readelf`是Linux下分析ELF文件的命令行工具,用于查看文件头、节区、符号表等信息。支持可执行文件、共享库等多种类型。常用选项有`-h`(文件头)、`-l`(程序头)、`-S`(节区)、`-s`(符号表)、`-r`(重定位)和`-d`(动态节区)。结合其他工具如`objdump`,能深入理解二进制文件,助力开发和调试。
|
2天前
|
Linux
linux不同场景下修改文件名的五种方法
linux不同场景下修改文件名的五种方法
6 1
|
1天前
|
Linux 数据处理 vr&ar
Linux下的ranlib命令:静态库文件的索引生成器
`ranlib`是Linux用于加速静态库(.a文件)链接的工具,它生成索引以优化查找目标文件。当链接器处理静态库时,索引能快速定位目标,提升效率。命令如`ranlib libexample.a`创建索引。注意,新工具链可能已自动包含此功能,使用前应确保库文件未含索引,避免重复生成。
|
2天前
|
关系型数据库 MySQL Shell
深入了解Linux /etc/passwd文件
深入了解Linux /etc/passwd文件
7 0
|
2天前
|
存储 Linux
深入了解Linux设备管理:字符、块和网络设备文件
深入了解Linux设备管理:字符、块和网络设备文件
9 0
|
2天前
|
存储 Linux 程序员
Linux解压Zip文件命令详解
Linux解压Zip文件命令详解
|
1月前
|
Linux
百度搜索:蓝易云【Linux中如何对文件进行压缩和解压缩?】
这些是在Linux中进行文件压缩和解压缩的常见方法。根据您的需求和具体情况,可能会使用其他压缩工具和选项。您可以通过查阅相应命令的帮助文档来获取更多详细信息。
61 1
|
1月前
|
NoSQL Java Linux
Linux常用命令(文件目录操作、拷贝移动、打包压缩、文本编辑、查找)
Linux常用命令(文件目录操作、拷贝移动、打包压缩、文本编辑、查找)
|
1月前
|
算法 Java Linux
Linux下文件增删改查定位压缩操作与权限所属用户
Linux下文件增删改查定位压缩操作与权限所属用户
51 0