1

我正在尝试对 700 Mo 的文件使用 csplit 命令。我想将文件拆分为 30 个较小的文件,并尊重我用来启动新文件的标签名称。

<head>
 <test>1 </test>
</head>

<head>
 <test>2 </test>
</head>

<head>
 <test>3 </test>
</head>
...
<head>
 <test> 80 </test>
 </head>

假设我有 80 个组标签,所以我想生成 30 个文件。那么我如何使用 csplit 来做到这一点。我知道的开始是

csplit output_prefix File '/<head>/' '{*}'
4

1 回答 1

2

发现csplit是成功的一半!这应该有效:

% csplit --prefix File --elide-empty-files foo.xml '/<head>/' '{*}'
33
33
...

% ls
File00  File01  File02  ...  foo.xml

选项/参数顺序很重要。尝试csplit --help查看其所有选项。

% csplit --help
Usage: csplit [OPTION]... FILE PATTERN...
于 2015-07-28T21:52:05.050 回答