详解使用 split 命令分割 Linux 文件

时间:2021-05-19

一些简单的 Linux 命令能让你根据需要分割以及重新组合文件,来适应存储或电子邮件附件大小的限制。

Linux 系统提供了一个非常易于使用的命令来分割文件。在将文件上传到限制大小的存储网站或者作为邮件附件之前,你可能需要执行此操作。要将文件分割为多个文件块,只需使用 split 命令。

$ split bigfile

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

除非你要求,否则该命令将无任何反馈地运行。但是,如果你想在创建文件块时看到反馈,可以使用 --verbose 选项。

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

你还可以给文件命名前缀。例如,要将你原始文件分割并命名为 bigfile.aa、bigfile.ab 等,你可以将前缀添加到 split 命令的末尾,如下所示:

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

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

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

$ split -b100M bigfile

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

如果要基于每个块中的行数而不是字节数来拆分文件,那么可以使用 -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'

如果你需要在远程站点上重新组合文件,那么可以使用如下所示的 cat 命令轻松地完成此操作:

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

上面所示的分割和组合命令适合于二进制和文本文件。在此示例中,我们将 zip 二进制文件分割为 50KB 的块,之后使用 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$ <== 无输出 = 无差别

我唯一要提醒的一点的是,如果你经常使用 split 并使用默认命名,那么某些文件块可能会覆盖其他的文件块,甚至会比你预期的更多,因为有些是更早之前分割的。

总结

以上所述是小编给大家介绍的使用 split 命令分割 Linux 文件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章