问题标签 [csplit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
22226 浏览

regex - 使用正则表达式告诉 csplit 在哪里拆分文件

我有一个大文本文件,其内容设置如下:

我正在尝试使用csplit.

单个文件的内容格式如下:

我希望能够像这样正则表达式---,换行符和标题---\ntitle

但我无法选择它...</p>

我尝试了很多变化都无济于事。我不断得到“不匹配”。

0 投票
1 回答
378 浏览

xml - csplit - 我做错了什么?

我有这个 .xml 文件:

我正在尝试使用 csplit 来仅获取文本部分。这就是我想出的。

0 投票
3 回答
312 浏览

regex - 分割大文件的最佳方法

我正在尝试拆分一个非常规则的巨大文本文件(约 5 亿行文本),如下所示:

其中 ... 表示重复模式,“blah blah”的长度可变~ 2000 行。我想分开第一个

块到一个单独的文件中,并以最快的方式(运行时,考虑到我将运行多次)从原始文件中删除它。

理想的解决方案是从原始文件中剪切初始块并将其粘贴到新文件中,而不加载巨大的初始文件的尾部。

我通过以下方式尝试了 csplit:

这是一种有效的方法,但在时间上效率不高。

编辑:如果我们从文件中删除最后一个“start-end”块而不是第一个块,是否有解决方案?

0 投票
1 回答
126 浏览

text - 在仅包含一个整数的两个连续行上拆分文本文件

我有一个包含 os 3D 坐标列表的长文本文件。文件的开头由这样的标题组成:

之后开始坐标列表。所有的行都由 3 到 7 个数字组成。例如:

列表的总长度等于标题前两个数字的乘积 (10112*2455)。这些是 PTX 文件,其中包含来自激光扫描的文本格式的 3D 点。

关键是该文件是标题和坐标的串联,我想拆分文件在标题上破坏它。理想的解决方案是将文件拆分为两个连续的单个整数行。我正在寻找一个通用的解决方案,例如使用 csplit,但 csplit 一次读取一行,因此它无法检测到两个连续的行。

作为最后的手段,我会自己编写一个软件,但如果有的话,我更愿意找到基于 CLI 工具(Awk?)的解决方案。

有什么想法吗?

谢谢

编辑:示例

假设我有一个包含以下内容的文件:

在这种情况下,我应该得到两个文件,在由单个整数组成的两行中的第一行之前剪切。

作为替代方案,知道两个单数行表示有多少个点组成部分,我们可以说第一个输出文件由前 2*3+10=16(10 行标题和 6 行数据)行组成,第二个文件由随后的 3*1+10=13 行组成(标题总是 10 行,这次是 3 行数据)行。

0 投票
1 回答
2079 浏览

batch-processing - 使用模式拆分一批文本文件

我有一个包含将近一千个 html 文件的目录。每个文件都需要根据重复出现的模式(标题)分成多个文本文件。我在 Windows 机器上,使用 GnuWin32 工具。

对于单个文件,我找到了一种方法:

但我不知道如何对整个 HTML 文件集重复此操作。这个:

不起作用,这也不起作用:

两者都会导致无效的模式错误。帮助将不胜感激!

0 投票
1 回答
967 浏览

bash - 根据行内容拆分巨大的文本文件

帮帮我,伙计们,我真的迷路了。我有一个很大的文本文件,里面有很多链接,我试图根据链接所属的网站将它们分开。我试图用 csplit 命令来做,但我不确定我会怎么做,因为它取决于文本内容。

文本示例:

所以在这个例子中,前两个链接将在一个文件中,剩下的 2 个链接将在一个文件中。这将如何工作?我真的不知道这是否可能。(新手程序员)

0 投票
1 回答
408 浏览

csplit - 使用 csplit 拆分 fasta 文件

我需要将一个大的 fasta 文件拆分成较小的文件。我正在尝试以下命令:

csplit -z input.fasta '/>/' '{*}'

但它正在生成大量文件(对于每个“>”)。有没有办法要求只创建两个较小的文件?

谢谢

0 投票
1 回答
822 浏览

linux - 如何使用 csplit 命令按天拆分日志文件?

我有一个如下的日志文件:

我怎么能按天拆分文件?我使用了命令:

csplit log /*Jan 01*/ /*Jan 02*/ /*Jan 03*/

但有错误:

所以任何人都可以请告诉我如何解决这个问题?提前致谢。

0 投票
1 回答
376 浏览

bash - 根据模式拆分长文件(在标准输出上)并将其输入到循环中

我有一个很长的文件(是的,这是 fasta 格式的 DNA),它实际上是一批拼凑在一起的几个文件,在标准输出上输出。例如:

我想根据模式(此处显示为=)拆分此流并分别对每个部分执行操作。

我研究过类似的东西

但我担心将大量信息放入变量中会非常低效。此外,我读过 read (...) 本身效率低下。

我想找到类似的东西csplit将这些片段输出到一个循环中,但我想不出一些聪明的东西。理想情况下,像这样非常糟糕的伪代码:

我也想避免编写临时文件,因为我担心它也会非常低效。

这有任何意义吗?

任何帮助表示赞赏!

0 投票
1 回答
804 浏览

shell - 外壳:csplit 命令

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

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