csplit 分割文件

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


语法
csplit [-kqsz][-b<输出格式>][-f<输出字首字符串>][-n<输出文件名位数>][--help][--version][文件][范本样式...] 
选项
-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 #是删除第一个文件,因为分割后的的第一个文件没有内容,匹配的单词就位于文件的第一行中。
示例:  
1)将文本文件textfile以120行为分界点切割成2份 $csplit testfile 120  
2)将文本文件textfile以120行为分界点切割成2份,并指定输出文件名的位数为3 $csplit -n 3 testfile 120 $ls  textfile  xx000  xx001  
3)将文本文件textfile以120行为分界点切割成2份,并指定输出文件名的前缘为FileName位数为3  $csplit -f FileName testfile 120 $ls  textfile  FileName00  FileName001  
4)将文件textfile以10行为单位分割8次,并指定输出文件名的格式 $csplit -b "myfile%o% textfile 10 {8} $ls  textfile xxmyfile00  xxmyfile01 xxmyfile02 ... 
5)将文本文件textfile以每20行为单位分割 $csplit textfile 20 {*}  
6)把文件以字符串"Chapter X"为分界符,分成两部分 $csplit textfile /"Chapter X"/  
7)承上例, 但分割文件时以"Chapter X"字符串往下4行才是分割点 $csplit textfile /"Chapter X"/+4

1. # csplit -k -f prefix FILE 15000 {99}  把文件 FILE 分解,分解后大小为 15000 行,文件名前缀为 prefix 后缀为 00、01、02 ......99,而文件个数不多于100个。 
2. # split -d -b 512 FILE prefix 把文件 FILE 分解,分解后大小为 512byte,文件名前缀为 prefix 后缀为 00、01、02 ......99。若 -b 改为 -k 为Kbyte,-m 为Mbyte


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/496956.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度解读:深度学习在IoT大数据和流分析中的应用

来源&#xff1a;网络大数据&#xff08;ID:raincent_com&#xff09;摘要&#xff1a;这篇论文对于使用深度学习来改进IoT领域的数据分析和学习方法进行了详细的综述。在物联网时代&#xff0c;大量的感知器每天都在收集并产生着涉及各个领域的数据。由于商业和生活质量提升方…

Python编程从入门到实践~异常

#异常 try:print(5/0) except ZeroDivisionError:print("You cant divide by zero!")#else 代码块 try:answer print(5/0.99) except ZeroDivisionError:print("You cant divide by zero!") else:print(answer)#处理FileNotFoundError filename alice.tx…

在存储过程中使用系统存储过程sp_Excute的注意事项

在编写自己的存储过程的时候&#xff0c;很多的情况下&#xff0c;会使用到系统的存储过程sp_Excute。但是需要的注意的是&#xff0c;如果你在这个存储过程的参数&#xff08;一般是一段sql语句&#xff09;当中进行了临时table的操作&#xff0c;那么对于调用者来说&#xff…

C++学习之路 | PTA乙级—— 1033 旧键盘打字 (20 分)(精简)

1033 旧键盘打字 (20 分) 旧键盘上坏了几个键&#xff0c;于是在敲一段文字的时候&#xff0c;对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键&#xff0c;打出的结果文字会是怎样&#xff1f; 输入格式&#xff1a; 输入在 2 行中分别给出坏掉的那些键…

区块链行业报告|从交易流程到Token经济的全方位解析

来源&#xff1a;36氪研究院作者&#xff1a;孔德云 36氪研究院 分析师中国人在干嘛&#xff1f;首先&#xff0c;目前我国区块链项目只占到了全球的4.6%&#xff0c;相比之下&#xff0c;美国占了36%。由于大环境因素&#xff0c;通过ICO的形式&#xff0c;真正找到落地场景…

Python编程从入门到实践~JSON

import json #AttributeError: module ‘json’ has no attribute ‘dump’ #模块的名字被我命名成了json.py&#xff0c;名称冲突#使用json.dump()和json.load() numbers [2, 3, 4, 5, 66, 12] filename ./data/number.json with open(filename,w) as file:json.dump(numbe…

什么是社会性网络?什么是六度分隔理论?

2007年05月23日 星期三 下午 03:13根据维基百科的解释&#xff0c;“社会网络&#xff08;Social Networking&#xff1a;SN&#xff09;”是指个人之间的关系网络。 据一些不系统的分析&#xff0c;社会网络&#xff08;或称为社会性网络&#xff09;的理论基础源于六度分隔理…

ps 命令详解

From&#xff1a;http://blog.chinaunix.net/uid-25681671-id-3201927.html 进程和作业管理命令&#xff1a;http://man.linuxde.net/sub/进程和作业管理 Linux 关于 进程/线程 的命令 kill 和 pgrep 和 pidof 和 awk 和 pkill 和 killall&#xff1a;https://blog.csdn.net…

C++学习之路 | PTA乙级—— 1035 插入与归并 (25 分)(精简)

1035 插入与归并 (25 分) 根据维基百科的定义&#xff1a; 插入排序是迭代算法&#xff0c;逐一获得输入数据&#xff0c;逐步产生有序的输出序列。每步迭代中&#xff0c;算法从输入序列中取出一元素&#xff0c;将之插入有序序列中正确的位置。如此迭代直到全部元素有序。 归…

中国将对人工智能、云计算等行业独角兽IPO即报即审

来源&#xff1a;21世纪经济报道摘要&#xff1a;2月28日下午&#xff0c;有媒体报道称监管层对券商作出指导&#xff0c;包括生物科技、云计算在内的四个行业若有“独角兽”&#xff0c;立即向发行部报告&#xff0c;符合相关规定者可以实行“即报即审”。2月28日下午&#xf…

Gridview利用DataFormatString属性设置数据格式

from: http://blog.sina.com.cn/s/print_4a5e327701000b56.html 首先把Gridview的AutoGenerateColumns属性设为False&#xff08;默认是False&#xff09;&#xff0c;DataField选择相应的字段&#xff0c;特别需要注意的是要把需要设置的字段的HtmlEncode属性设置为False&…

Python 包管理工具 pip 安装 和 使用

pip 安装使用详解&#xff1a;http://www.ttlsa.com/python/how-to-install-and-use-pip-ttlsa python 包&#xff1a;https://pypi.python.org/pypi 在 python 中安装非自带 python 模块&#xff0c;有三种方式&#xff1a; 1. easy_install2. pip3. 下载压缩包(.zip, .tar, …

如何阅读一本书~主题阅读

一、观察研究范围&#xff1a;主题阅读的准备阶段 &#xff08;1&#xff09;、针对你要研究的主题&#xff0c;设计一份试验性的书目 可以参考图书馆目录、专家的建议与书中的书目索引。 &#xff08;2&#xff09;、浏览这份书目上所有的书&#xff0c;确定哪些与你的主题相…

5G的风头盖过了AI,英特尔展示未来四大应用场景 | MWC2018

来源&#xff1a;36Kr摘要&#xff1a;英特尔公司网络平台事业部副总裁Alex Quach在接受采访时表示&#xff0c;5G已经从实验室带到了实时现场。事实上&#xff0c;在MWC2018现场&#xff0c;英特尔则直接展示了5G网络未来可以落地的场景。5G去哪儿&#xff1f;去年MWC现场&…

C++学习之路 | PTA乙级—— 1036 跟奥巴马一起编程 (15 分)(精简)

1036 跟奥巴马一起编程 (15 分) 美国总统奥巴马不仅呼吁所有人都学习编程&#xff0c;甚至以身作则编写代码&#xff0c;成为美国历史上首位编写计算机代码的总统。2014 年底&#xff0c;为庆祝“计算机科学教育周”正式启动&#xff0c;奥巴马编写了很简单的计算机代码&#x…

SQL Server的游标

SQL中的游标&#xff0c;可以用在过程或者作业中。 Declareeventidvarchar(50) Declarecur_name cursorforselect--Selectxxxxxxxx --定义游标 opencur_name --打开游标 fetchnextfromcur_name intoeventid--将name字段存到name变量中 whilefetch_status0--执行成功 begin--其他…

腾讯首席战略官詹姆斯: 从互联网信息的永久性和稀缺性看腾讯的投资逻辑

腾讯首席战略官詹姆斯•米切尔&#xff08;James Mitchell&#xff09;来源&#xff1a;腾讯大学摘要&#xff1a;据不完全统计&#xff0c;2017年腾讯在全球投资了超过100家公司。每一年&#xff0c;腾讯生态圈的CEO们都会聚在一起分享最前沿的行业思考。据不完全统计&#xf…

Python中的random模块

来源&#xff1a;http://www.cnblogs.com/yd1227/archive/2011/03/18/1988015.html Python中的random模块用于生成随机数。下面介绍一下random模块中最常用的几个函数。 random.random random.random()用于生成一个0到1的随机符点数: 0 < n < 1.0 random.uniform random.…

一个完美网站的101项指标.第一部分.概述

前言  世 界上最有趣的职业是网站设计师&#xff0c;有人为自己的作品喊价5000美金&#xff0c;有人129美金就行&#xff0c;而很多人根本看不出这两者的差别&#xff0c;我见过一个加拿大 Freelancer 设计师&#xff0c;他的网站上有个报价系统&#xff0c;你可以选择自己的…

C++学习之路 | PTA乙级—— 1037 在霍格沃茨找零钱 (20 分)(精简)

1037 在霍格沃茨找零钱 (20 分) 如果你是哈利波特迷&#xff0c;你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的&#xff1a;“十七个银西可(Sickle)兑一个加隆(Galleon)&#xff0c;二十九个纳特(Knut)兑一个西可&#xff0c;很容易。”现在&#xff0c;给定哈利…