文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

使用split命令分割Linux文件

2024-12-24 21:11

关注

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

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

  1. $ split bigfile

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

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

  1. $ split –-verbose bigfile
  2. creating file 'xaa'
  3. creating file 'xab'
  4. creating file 'xac'

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

  1. $ split –-verbose bigfile bigfile.
  2. creating file 'bigfile.aa'
  3. creating file 'bigfile.ab'
  4. creating file 'bigfile.ac'

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

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

  1. $ split -b100M bigfile

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

如果要基于每个块中的行数而不是字节数来拆分文件,那么可以使用 -l(行)选项。在此示例中,每个文件将有 1000 行,当然,最后一个文件可能有较少的行。

  1. $ split --verbose -l1000 logfile log.
  2. creating file 'log.aa'
  3. creating file 'log.ab'
  4. creating file 'log.ac'
  5. creating file 'log.ad'
  6. creating file 'log.ae'
  7. creating file 'log.af'
  8. creating file 'log.ag'
  9. creating file 'log.ah'
  10. creating file 'log.ai'
  11. creating file 'log.aj'

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

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

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

  1. $ split --verbose -b50K zip zip.
  2. creating file 'zip.aa'
  3. creating file 'zip.ab'
  4. creating file 'zip.ac'
  5. creating file 'zip.ad'
  6. creating file 'zip.ae'
  7. $ cat zip.a? > zip.new
  8. $ diff zip zip.new
  9. $ <== 无输出 = 无差别

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

来源:Linux中国内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯