查看“Csplit:将文件分割为由上下文确定的片段”的源代码
←
Csplit:将文件分割为由上下文确定的片段
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
csplit会创建一个或多个输出文件,其中包含输入的部分(如果输入为“-”,则为标准输入)。概要: <pre>csplit [option]… input pattern…</pre> 输出文件的内容由模式参数确定,如下所述。如果模式参数引用输入文件中不存在的行(例如,如果没有剩余的行与给定的正则表达式匹配),则会发生错误。在匹配了每个模式之后,剩余的任何输入都将被复制到最后一个输出文件中。 默认情况下,csplit在创建每个输出文件后打印写入的字节数。 返回值为零表示成功,非零值表示失败。 == 模式参数的类型 == <span id="n"></span> === 'n' === 创建一个输出文件,其中包含输入直到第n行(一个正整数)但不包括第n行。如果跟随一个重复计数,还会为输入文件的每个重复创建一个输出文件,其中包含下一个n行。 <span id="regexpoffset"></span> === '/regexp/[offset]' === 创建一个输出文件,其中包含当前行直到(但不包括)输入文件中包含正则表达式regexp的下一行。可选的偏移量是一个整数,可以以'+'或'-'开头。如果给定了偏移量,则将匹配行之前(不包括匹配行)加上或减去偏移量的输入放入输出文件中,并且之后的行开始输入的下一节。请注意,与regexp模式负偏移量之内的行不会与后续regexp模式匹配。 <span id="regexpoffset-1"></span> === '%regexp%[offset]' === 与前一种类型类似,不同之处在于它不会创建输出文件,因此忽略了输入文件的该部分。 <span id="repeat-count"></span> === '{repeat-count}' === 重复之前的模式repeat-count次。repeat-count可以是正整数或星号,表示重复次数直到输入耗尽为止。 输出文件的名称由前缀(默认为'xx')和后缀组成。默认情况下,后缀是从'00'到'99'的两位十进制数字的递增序列。无论如何,按照文件名的排序顺序连接输出文件将产生原始输入文件,不包括使用%regexp%模式或–suppress-matched选项跳过的部分。 默认情况下,如果csplit遇到错误或接收到挂起、中断、退出或终止信号,它将在退出之前删除已创建的任何输出文件。 == 选项 == <span id="f-prefix"></span> === '-f prefix' === <span id="prefix前缀"></span> === '–prefix=前缀' === 使用前缀作为输出文件名的前缀。 <span id="b-format"></span> === '-b format' === <span id="suffix-format格式"></span> === '–suffix-format=格式' === 使用格式作为输出文件名的后缀。当指定此选项时,后缀字符串必须包含一个printf(3)样式的转换说明符,可能包括格式说明标志、字段宽度、精度说明或所有这些修饰符。格式字母必须将二进制无符号整数参数转换为可读形式。格式字母'd'和'i'是'u'的别名,并且允许使用'u'、'o'、'x'和'X'转换。将整个格式(包括当前输出文件编号)与sprintf(3)一起形成每个单独输出文件的文件名后缀。如果使用此选项,则忽略–digits选项。 <span id="n-digits"></span> === '-n digits' === <span id="digits数字"></span> === '–digits=数字' === 使用数字长度为digits的数字作为输出文件名。而不是默认的2位数。 <span id="k"></span> === '-k' === <span id="keep-files"></span> === '–keep-files' === 在遇到错误时不删除输出文件。 <span id="suppress-matched"></span> === '–suppress-matched' === 不输出与指定模式匹配的行。即从第二个及后续分割的开始边界行中删除。 <span id="z"></span> === '-z' === <span id="elide-empty-files"></span> === '–elide-empty-files' === 不生成零长度的输出文件。(在输入文件的节定界符应该标记每个节的第一行的情况下,除非使用此选项,否则第一个输出文件通常是零长度的文件。)即使指定了此选项,输出文件的序号始终连续从0开始。 <span id="s"></span> === '-s' === <span id="q"></span> === '-q' === <span id="silent"></span> === '–silent' === <span id="quiet"></span> === '–quiet' === 不打印输出文件大小的计数。 <span id="使用示例"></span> == 使用示例。 == <ol style="list-style-type: decimal;"> <li><p>首先,创建一个空目录并进入该目录:</p> <pre> $ mkdir d && cd d</pre></li> <li><p>现在,将以0或5结尾的1..14序列拆分成多行:</p> <pre> $ seq 14 | csplit - '/[05]$/' '{*}' 8 10 15</pre> <p>上面打印的每个数字都是csplit刚刚创建的输出文件的大小。</p></li> <li><p>列出这些输出文件的名称:</p> <pre> $ ls xx00 xx01 xx02</pre></li> <li><p>使用head显示它们的内容:</p> <pre> $ head xx* ==> xx00 <== 1 2 3 4 ==> xx01 <== 5 6 7 8 9 ==> xx02 <== 10 11 12 13 14</pre></li></ol> === 按空行拆分输入的示例 === <pre>$ csplit --suppress-matched input.txt '/^$/' '{*}'</pre>
返回至“
Csplit:将文件分割为由上下文确定的片段
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
基础知识
正则表达式
Markdown
分布式
项目管理
系统集成项目管理基础知识
云原生
Docker
云原生安全
云原生词汇表
十二因素应用
Kubernetes
音频处理
音频合成
Edge-tts
CMS系统
Docsify
VuePress
Mediawiki
自动生成
Marp
CI/CD
GitLab
设计
颜色
平面设计
AI
数字人
操作系统
GNU/Linux
数据库
Mysql
工具
链入页面
相关更改
特殊页面
页面信息