Linux csplit命令解释(附示例)
csplit 是一个 Linux 命令,可用于根据用户的要求将一个大文件拆分为多个较小的文件/部分。这些部分由上下文线确定。默认情况下,csplit 将文件拆分为每个文件 1000 行,并为用户提供根据需要更改拆分行数的选项。输出分割文件的名称如“xx00”和“xx01”。 csplit 命令还将每个分割文件/片段中的字节数作为其自己的输出或标准输出输出。
Csplit 命令语法
csplit 命令的语法是:
csplit [选项]...文件模式...
语法中的 OPTION 是命令行选项,用于将参数传递给程序。 其中 FILE是用户想要获取其绝对路径的文件名。
命令行选项
Linux 中使用的一些命令行选项如下:
- -f
- -k
- -n
- -z
- -s
- -help
- -version
使用 csplit 命令 - 示例
在进一步的指南中,我将使用示例明确解释和详细说明 csplit 命令与每个命令行选项的使用。对于该过程,您需要执行以下步骤:
步骤01:创建一个.txt文件以使用csplit命令分割它
创建一个名为‘Demo.txt’的文件,其中包含以下内容,如下图所示。使用计算机中的文本编辑器并将其保存在主文件夹中。
用户还可以使用他/她自己选择或工作要求的数据创建不同名称的文件。他/她还可以将其保存在主文件夹以外的其他位置。对于本特定指南,我使用 Demo.txt。
步骤02:打开Debian 10终端
转到桌面的左下角,然后单击菜单按钮。
转到左上角的搜索栏。
在那里输入终端。单击“多语言终端”。
单击多语言终端将显示以下显示。
现在在终端中编写以下命令,将文件分成两部分。由于第二部分从第三行开始,因此我们将在 csplit 命令中写入“3”。
csplit Demo.txt 3
看下图。
运行该命令时,csplit 将为您提供每个拆分文件中的字节数作为标准数字。 要查看 Demo.txt 是否被拆分为 2 个文件,请在终端中输入“ls”并按 Enter。按 Enter 键后,它将显示主文件夹中的所有文件。 在主文件夹中,您可以看到名为“xx00”和“xx01”的 2 个分割文件。xx00 中有 11 字节,xx01 中有 52 字节。所有这些点都在下图中突出显示。
现在要查看文件 xx00 和 xx01 的内容,请在终端中编写以下命令。
cat xx00
cat xx01
运行这些命令将为您提供以下输出。
使用 csplit 命令行选项
选项 01:-f,--前缀
此选项使用 PREFIX 代替分割文件名中的“xx”。该命令行选项的语法是:
csplit -f pre Demo.txt 3
在上面的命令中, -f 是命令行选项,'pre' 是用来代替 'xx' 的前缀。 用户可以设置他/她选择的任何前缀名称。 对于这个特定的指南,我将其设置为“pre”。 Demo.txt 是上述步骤 02 中所述的文件名。
通过运行此命令,您将获得以下输出,如下面所附图像中突出显示的那样。这些文件现在命名为“pre00”和“pre01”。
选项 02:-k,-保留文件
此选项如果遇到任何错误,不会删除拆分输出文件。假设以下示例,我在终端中编写以下错误命令。 csplit –k Demo.txt 4 {3}
由于上面的命令有错误,但是-k选项并没有删除分割文件。运行 csplit –k Demo.txt 4 {3} 后,我将运行另一个错误命令 ls xx*,但输出仍会显示拆分文件名。请看下面所附的图片。
选项 03:-n,--数字
此选项修复文件名后的位数。假设,如果将位数固定为 1,则输出文件名将为 xx0 而不是 xx00。该命令行选项的语法是:
csplit -n 1 Demo.txt 3
在上面的命令中,-n 是命令行选项。 用户可以设置他/她选择的任何数字。对于这个特定的指南,我将其设置为“1”。 Demo.txt 是上面步骤 02 中所述的文件名。
在终端中运行此命令,您将得到以下突出显示的输出。
选项 04:-z, --elide-empty-files
此选项删除空的输出文件。该命令行选项的语法是:
csplit -z Demo.txt 6
在上面的命令中,-z 是命令行选项。 Demo.txt 是上述步骤 02 中所述的文件名。“由于我发出命令将文件分成 5 个部分,并且第 5 部分从第 6 行开始,因此将会有空文件,因为原始文件仅包含 8 行”。
在终端中运行此命令,您将得到以下突出显示的输出。它将给您仅 4 个分割文件,并删除名为 xx05 的第五个空文件。
选项 05:-s,-安静
- 此选项不显示输出文件的大小计数。该命令行选项的语法是:
csplit -s Demo.txt 3
在上面的命令中, -s 是命令行选项。 Demo.txt 是上面步骤 02 中所述的文件名。
在终端中运行此命令,您将得到以下突出显示的输出。
选项 06:-h、--help
--help选项仅显示帮助消息并退出。您将在终端中编写以下命令:
csplit --help
下面所附的屏幕截图显示了在终端中运行上述命令时的输出。
选项 07:-v,--版本
--version 选项仅显示 csplit 命令的版本信息。您将在终端中编写以下命令:
csplit --version
下面的附件显示了在终端中运行上述命令的输出。
结论
如果您是第一次使用 csplit 命令并且难以理解其用法和实现,本指南将详细解释所有内容并引导您完成整个过程。该文档不仅通过示例解释了每个命令行选项及其语法,还通过整个过程的每个步骤的突出显示屏幕截图进行了演示。该文档不仅对于外行人士,而且对于专业人士和 IT 用户来说都非常容易理解且有效。