大学社团做网站,wordpress 防止采集,郑州网站建设氵汉狮网络,河南省建筑市场一体化平台csplit 按行分割#xff0c;split 按大小分割。 csplit命令是split的一个变体#xff0c;split只能够根据文件大小或行数来分割#xff0c;但csplit能够根据文件本身特点来分割文件。 csplit命令用于将一个大文件分割成小的碎片#xff0c;并且将分割后的每个碎片保存成一个…csplit 按行分割split 按大小分割。 csplit命令是split的一个变体split只能够根据文件大小或行数来分割但csplit能够根据文件本身特点来分割文件。 csplit命令用于将一个大文件分割成小的碎片并且将分割后的每个碎片保存成一个文件。碎片文件的命名类似“xx00”“xx01”。语法csplit [-kqsz][-b输出格式][-f输出字首字符串][-n输出文件名位数][--help][--version][文件][范本样式...] 选项-b输出格式或--suffix-format输出格式预设的输出格式其文件名称为xx00xx01等用户可以通过改变输出格式来改变输出的文件名
-f输出字首字符串或--prefix输出字首字符串预设的输出字首字符串其文件名为xx00xx01等如果制定输出字首字符串为“hello”则输出的文件名称会变成hello00hello、01......
-k或--keep-files保留文件就算发生错误或中断执行也不删除已经输出保存的文件
-n输出文件名位数或--digits输出文件名位数预设的输出文件名位数其文件名称为xx00xx01......如果用户指定输出文件名位数为“3”则输出的文件名称会变成xx000xx001等
-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部分 [rootlocalhost split]# csplit server.log /SERVER/ -n2 -s {*} -f server -b %02d.log; rm server00.log
[rootlocalhost 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/41. # 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