csplit

csplit

将一个大文件分割成小的碎片文件

补充说明

csplit命令 用于将一个大文件分割成小的碎片,并且将分割后的每个碎片保存成一个文件。碎片文件的命名类似“xx00”,“xx01”。csplit命令是split的一个变体,split只能够根据文件大小或行数来分割,但csplit能够根据文件本身特点来分割文件。

语法

csplit(选项)(参数)

选项

-b<输出格式>或--suffix-format=<输出格式>:预设的输出格式其文件名称为xx00,xx01等,用户可以通过改变<输出格式>来改变输出的文件名;
-f<输出字首字符串>或--prefix=<输出字首字符串>:预设的输出字首字符串其文件名为xx00,xx01等,如果制定输出字首字符串为“hello”,则输出的文件名称会变成hello00,hello、01......
-k或--keep-files:保留文件,就算发生错误或中断执行,与不能删除已经输出保存的文件;
-n<输出文件名位数>或--digits=<输出文件名位数>:预设的输出文件名位数其文件名称为xx00,xx01......如果用户指定输出文件名位数为“3”,则输出的文件名称会变成xx000,xx001等;
-q或-s或--quiet或——silent:不显示指令执行过程;
-z或--elide-empty-files:删除长度为0 Byte文件。

参数

  • 文件:指定要分割的原文件;
  • 模式:指定要分割文件时的匹配模式。

实例

示例测试文件 server.log

cat server.log
SERVER-1
[con] 10.10.10.1 suc
[con] 10.10.10.2 fai
[dis] 10.10.10.3 pen
[con] 10.10.10.4 suc
SERVER-2
[con] 10.10.10.5 suc
[con] 10.10.10.6 fai
[dis] 10.10.10.7 pen
[con] 10.10.10.8 suc
SERVER-3
[con] 10.10.10.9 suc
[con] 10.10.10.10 fai
[dis] 10.10.10.11 pen
[con] 10.10.10.12 suc

需要将server.log分割成server1.log、server2.log、server3.log,这些文件的内容分别取自原文件中不同的SERVER部分:

[root@localhost split]# csplit server.log /SERVER/ -n2 -s {*} -f server -b "%02d.log"; rm server00.log
[root@localhost split]# ls
server01.log  server02.log  server03.log  server.log

命令详细说明:

/[正则表达式]/   #匹配文本样式,比如/SERVER/,从第一行到包含SERVER的匹配行。
{*}     #表示根据匹配重复执行分割,直到文件尾停止,使用{整数}的形式指定分割执行的次数。
-s      #静默模式,不打印其他信息。
-n      #指定分割后的文件名后缀的数字个数。比如01、02、03等。
-f      #指定分割后的文件名前缀。
-b      #指定后缀格式。比如%02d.log,类似于C语言中的printf参数格式。
rm server00.log    #是删除第一个文件,因为分割后的的第一个文件没有内容,匹配的单词就位于文件的第一行中。

若文章对你有帮助,可以点赞或打赏支持我们。发布者:Aurora,转载请注明出处:http://61.174.243.28:13541/AY-knowledg-hub/csplit/

(0)
AuroraAurora站点维系者
上一篇 2023年 12月 7日 下午7:06
下一篇 2023年 12月 7日 下午7:07

相关推荐

  • pvremove

    文章目录pvremove补充说明语法选项参数实例 pvremove 删除一个存在的物理卷 补充说明 pvremove命令 用于删除一个存在的物理卷。使用pvremove指令删除物理…

    入门教程 2024年 3月 1日
  • ssh-agent

    文章目录ssh-agent补充说明语法选项实例 ssh-agent ssh密钥管理器 补充说明 ssh-agent命令 是一种控制用来保存公钥身份验证所使用的私钥的程序。ssh-a…

    入门教程 2024年 3月 11日
  • mysqladmin

    文章目录mysqladmin补充说明语法选项参数 mysqladmin MySQL服务器管理客户端 补充说明 mysqladmin命令 是mysql服务器管理任务的客户端工具,它可…

    入门教程 2024年 1月 3日
  • restore

    文章目录restore补充说明语法选项实例 restore 所进行的操作和dump指令相反 补充说明 restore命令 是dump命令的逆过程,用于还原dump命令生成的备份文件…

    入门教程 2024年 3月 4日
  • setpci

    文章目录setpci补充说明语法选项参数实例 setpci 查询和配置PCI设备的使用工具 补充说明 setpci命令 是一个查询和配置PCI设备的使用工具。 语法 setpci(…

    入门教程 2024年 3月 4日
  • speedtest-cli

    文章目录speedtest-cli补充说明安装speedtest-cli用法实例 speedtest-cli 命令行下测试服务器外网速度 补充说明 speedtest-cli 是一…

    入门教程 2024年 3月 5日
  • iOS文件处理

    IOS文件处理 简介 文件处理不能直观的通过应用程序来解释,我们可以从以下实例来了解IOS的文件处理。 IOS中对文件的操作. 因为应用是在沙箱(sandbox)中的,在文件读写权…

    入门教程 2023年 4月 1日
  • mkfs

    文章目录mkfs补充说明语法选项参数实例 mkfs 用于在设备上创建Linux文件系统 补充说明 mkfs命令 用于在设备上(通常为硬盘)创建Linux文件系统。mkfs本身并不执…

    入门教程 2024年 1月 3日
  • HTML 编辑器

    可以使用专业的 HTML 编辑器来编辑 HTML,菜鸟教程为大家推荐几款常用的编辑器: VS Code:https://code.visualstudio.com/ Sublime…

    2023年 4月 11日
  • xclip

    xclip 管理 X 粘贴板 补充说明 在 X 系统里面,从一个窗口复制一段文字到另一个窗口,有两套机制,分别是 Selections 和 cut buffers。 常用的 cop…

    入门教程 2024年 3月 11日
Translate »