当前位置:首页>弱电技术>系统运维>使用 split 命令将 Linux 文件分成多个部分

使用 split 命令将 Linux 文件分成多个部分

使用 split 命令将 Linux 文件分成多个部分

linux 系统提供了一个非常易于使用的命令来将文件分成多个部分。在将文件上传到某些限制文件大小的存储站点或将其作为附件通过电子邮件发送之前,您可能需要执行此操作。要将文件分割成多个部分,只需使用 split 命令即可。

$ split bigfile

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

除非您询问,否则该命令运行时不会给您任何反馈。但是,如果您想在创建文件块时查看它们,则可以使用 –verbose 选项。

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

您还可以通过提供前缀来对文件命名做出贡献。例如,要将原始文件的所有部分命名为 bigfile.xaa、bigfile.xab 等,您可以将前缀添加到 split 命令的末尾,如下所示:

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

请注意,上面命令中显示的前缀末尾添加了一个点。否则,文件的名称将类似于 bigfilexaa 而不是 bigfile.xaa。

请注意,分割命令不会删除原始文件,只是创建块。如果要指定文件块的大小,可以使用 -b 选项将其添加到命令中。例如:

$ split -b100M bigfile

指定 Linux 文件大小

文件大小可以以千字节、兆字节、千兆字节……最高可达千兆字节为单位指定!只需使用 K、M、G、T、P、E、Z 和 Y 中适当的字母即可。

如果您希望根据每个块中的行数而不是字节数来分割文件,则可以使用 -l(行)选项。在此示例中,每个文件将有 1,000 行,当然,最后一个文件的行数可能较少。

$ 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'

使用 cat 命令重新组装 Linux 文件

如果您需要从远程站点上的片段重新组装文件,您可以使用 cat 命令相当轻松地完成此操作,如下所示:

$ cat x?? > original.file
$ cat log.?? > original.file

使用上面显示的命令进行拆分和重新组装应该适用于二进制文件和文本文件。在此示例中,我们将 zip 二进制文件拆分为 50 KB 的块,使用 cat 重新组装它们,然后比较组装后的文件和原始文件。diff 命令验证文件是否相同。

$ 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
$                    <== no output = no difference

在这一点上我必须给出的唯一警告是,如果您经常使用 split 并使用默认命名,您可能最终会用其他块覆盖一些块,并且有时可能会比您预期的块更多,因为有些块是从一些较早的分裂。

本文由 @大老鹰 发布于弱电智能网 。

题图来自Unsplash,基于CC0协议

内容观点仅代表作者本人,弱电智能网平台仅提供信息存储空间服务。

如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

文章名称:《使用 split 命令将 Linux 文件分成多个部分》

文章链接:https://www.ruodian360.com/tech/sytemops/50708.html

添加微信ydian188免费入群,记得备注“弱电智能网”。

给TA打赏
共{{data.count}}人
人已打赏
系统运维

如何在注销后保持 Linux 上的进程继续运行

2023-10-11 21:25:53

系统运维

等保中Windows系统基线加固要求

2023-10-13 2:11:41

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
购物车
优惠劵
搜索