csplit

王朝百科·作者佚名  2010-05-29  
宽屏版  字体: |||超大  

csplit 是linux命令

用途由上下文分割文件。

语法csplit [ -f Prefix ] [ -k ] [ -n Number ] [ -s ] File Argument ...

描述csplit 命令拷贝指定的文件并将拷贝分成段。原始的还未改变的输入文件,必须是一个文本文件。

这个 csplit 命令将这些段写到文件 xx00 . . . xx99 中,这依赖于 Argument 参数被指定(99 是最大值)多少次。缺省情况下,Argument 参数期望一个行号。当指定多行号时应用以下规则:

* 文件 xx00 包含原始文件的行开始,到(但不包括)第一个 Argument 参数指定的行。

* 文件 xx01 包含第一个 Argument参数指定的编号的行开始,直到(但不包括)第二个 Argument参数引用的行。每个指定行号作为自变量,标记新行的开始。

* 文件 xxnn(最后创建的文件)包含最后一个 Argument 参数指定的编号的行开始,直到文件结束。

示例如果原始的文件有 108 行,输入:

csplit orginal.txt 11 72 98

这个 csplit 命令创建 4 个文件: xx00 文件包含行 1-10,xx01 文件包含行 11-71,xx02 文件包含行 72-97,xx03 文件包含行 98-108。

Argument 参数还可以包含以下符号和模式字符串:

/Pattern/ 创建一个文件包含从当前行开始直到(但不包含)包含指定模式的那一行的段的文件。包含模式的行成为当前行。

% Pattern % 使包含指定模式的行成为当前行,但不为段创建一个文件。

+ Number 将指定编号的行从以前的匹配模式前移。示例,/页 /+5 搜索页,那就提前 5 行。

-Number 将指定的行号从以前的匹配模式行后移。示例,/页 /-5 搜索页那就后退 5 行。

{Number} 重复指定次数的以前选项。这个号码可以紧跟任何模式或行号。如果紧跟一个模式,csplit 命令就会重新使用指定次数的模式。如果紧跟一个行号,csplit 命令将文件从由行号指定行的点处分割开。

将引用标记放在所有模式周围,这些模式包含空格或其它专用于 shell 的字符。模式不要包含 embedded 新行字符。在表达中,例如 [a-z],- (减号)意思是通过,这是根据当前的整理顺序。一个整理顺序可以定义同等的类以便在字符范围以内使用。

标志-fPrefix 指定前缀由已经创建的文件段使用。此变量的缺省值是 xx。

-k 使创建的文件段完整的位于出错事件中。

-nNumber 改变十进制号码位,用于创建文件名。缺省的是两个十进制位或 xx00 . . . xx99。 如果指定 -n 4 标志,例如,新的文件被命名为 xx0000 . . . xx0099。

-s 消除字符计数的显示。

退出状态

此命令返回以下退出值:

0 成功完成。

>0 发生错误。

示例1. 将 book 的文本以每章一个单独文件来分割,输入:

csplit book "/^ Chapter *[k.0-9]k./" {9}

这创建了 10 个文件,从 xx00 到 xx09。xx00 文件包含了第一章前面的出版前页。文件从 xx01 到 xx09 包含各个单独的章节。每一章起始的一行只包含单词章和章节号。

2. 为这些创建自 book 的文件指定前缀 chap,输入:

csplit -f chap book "/^ Chapter *[k.0-9]k./" {9}

这样把 book 分割成文件,命名从 chap00 到 chap09。

文件/usr/bin/csplit 包含 csplit 命令。

 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝百科 版权所有