文章详情

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

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何在 Linux 中使用 split 命令拆分文本文件

2024-11-30 13:52

关注

让我们来探索如何在 Linux 中使用 split 命令来拆分文件。无论您需要从大文件中提取特定部分,还是将文件拆分为较小的块,split 命令都可以帮助您轻松实现目标。

什么是 split 命令?

split命令是由Torbjorn Granlund和Richard M. Stallman创建的流行的Linux命令行工具。顾名思义,split命令用于将文件拆分为较小的子文件。

该命令对于管理大型文件或在带宽有限的网络上传输文件非常有用。通过将大文件拆分为较小的部分,您可以减少需要传输或存储的数据量。您还可以使用split命令的逆操作将多个文件合并为一个文件。

split命令的语法

split命令的基本语法如下:split [选项]… [文件] [前缀]

如何使用 split 命令

您可以使用split命令按大小或长度将大文件分割为较小的文件。您甚至可以选择您想要的具体数量的较小文件。

为了演示,我们将使用一个名为linuxmi.txt的文本文件。请为本教程选择一个具有多行和相当大文件大小的文本文件。如果您没有这样的文件,您可以使用 Linux 文本编辑器或 cat 命令粘贴大量文本并保存。

根据行数拆分大文件

您可以使用split命令根据每个文件的特定行数将大文件分割为较小文件。

以下是语法:split -l [行数] [输入文件] [输出文件前缀]

例如,您可能希望将一个包含 210 行的文件分割为每个文件50行;您将获得五个较小的文件。前四个文件每个有50行,第五个文件只包含10行。

要将名为”largefile.txt”的文件拆分为每个文件100行的较小文件,请运行以下命令:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ split -l 100 linuxmi.txt smallfile

使用ls命令列出目录内容,您将看到拆分后的文件。

您还可以使用split命令根据特定的文件大小将大文件拆分为较小的文件。

以下是基本的语法:split -b [以字节为单位的大小] [输入文件] [输出文件前缀]

通过运行以下命令将largefile.txt拆分为每个文件300字节的较小文件:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ split -b 300 linuxmi.txt smallfile

这是结果:

按大小拆分大文件的结果

将大文件分割为特定数量的文件

您还可以将文件分割为固定数量的文件,而不考虑文件中的文件数和字节数。您可以使用-n选项来实现这一点。以下是语法:

split -n [文件数量] [输入文件] [输出文件前缀] 要将大文件分割为五个部分,请执行以下命令:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ split -n 5 linuxmi.txt smallfile

结果应该如下所示:

按文件数量拆分大文件

更改拆分文件的后缀长度

您可能已经注意到,附加到输出文件名的后缀的默认长度为两个字符。例如,smallfileaa,smallfileab,smallfileac等。

要更改后缀的长度,您可以使用 -a 选项。以下是更改后缀长度的语法:

split -a [后缀长度] [输入文件] [输出文件前缀]

您可以将此后缀长度选项与其他 split 命令一起使用。要将 linuxmi.txt 文件分割为10个部分,并具有 4 个字符的后缀长度,请执行以下命令:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ split -a 4 -n 10 linuxmi.txt smallfile

当您列出目录的内容时,输出应如下所示:

将大文件拆分为具有较长后缀的较小文件

使用cat合并多个文件

好消息是,您始终可以将拆分的文件合并在一起,以生成原始文件。要将拆分的文件合并回原始文件,请使用cat命令。以下是执行此操作的语法:

cat [拆分文件] > [输出文件]

在使用cat命令合并拆分文件时,指定拆分文件的正确顺序非常重要。

cat命令只是按照指定顺序连接文件,因此如果文件顺序不正确,合并后的文件将损坏。

在拥有许多拆分文件的情况下,例如一百个拆分文件,逐个键入每个文件并按照正确的顺序进行操作将会很麻烦。

这就是前缀的作用。只需添加一个星号(*),就可以合并以该前缀开头的所有文件。

cat prefix* > [输出文件]

以下是一个示例命令,它将拆分文件smallfileaa、smallfileab、smallfileac和smallfilead合并成一个名为linuxmi.txt的文件:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ cat smallfile* > linuxmi.txt

此命令将连接与模式smallfile*匹配的所有拆分文件的内容,并将输出重定向到一个名为 bigfile.txt 的新文件。它还将按照文件名的自然顺序列出拆分文件,这应该是合并的正确顺序。

使用Linux工具提高效率

split 命令只是 Linux 提供的众多工具之一,它可以通过将大文件拆分为更小、更易管理的块来帮助您高效地管理大文件。

通过掌握 Linux 文本处理命令,您可以节省时间和资源,提高效率。

来源:Linux迷内容投诉

免责声明:

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

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

软考中级精品资料免费领

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

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

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

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

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

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

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