问题标签 [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 投票
1 回答
154 浏览

bash - 合并和拆分,在 bash 中使用 csplit

我正在合并三个三个文件(ls -l):

使用以下命令在 bash 中合并到一个文件中:

在哪里:

接下来,我使用以下方法将合并的文件分成三部分:

这将产生 PART_00、PART_01、PART_02 (ls -l):

PART_00 和 PART_01 为 JPG 文件,可以正常显示。PART_02 是一个 PDF 文件,可以打开和查看。所以,乍一看,这在我看来是成功的。

问题是 PART_00(1839398 字节)的大小略小于 A.jpg(1839510 字节)。其他文件(PART_01、B.jpg 和 PART_02、C.pdf)也是如此。使用逐字节检查文件后

直到其中一个文件结束时,这对文件完全相同。

有谁知道为什么会这样?建议将不胜感激。

0 投票
3 回答
1714 浏览

awk - Bash如何使用awk在空行上拆分文件

我有一个文本文件 ( A.in),我想将其拆分为多个文件。每次找到空行时都应该进行拆分。文件名应该是渐进式的(A1.in, A2.in, ..)

我发现这个建议使用的答案awk,但我无法使用我想要的命名约定

我还找到了其他答案告诉我使用该命令csplit -l,但我无法使其匹配空行,我尝试匹配模式''但我对正则表达式不太熟悉,我得到以下信息

输入文件:

输入

期望的输出:

A1.in

A2.in

A3.in

0 投票
1 回答
124 浏览

bash - 在 cspilt 之后将输出管道输出到压缩的 tar

所以,我有以下情况:

产生大量(必须压缩)输出集的代码如下:

我生成此内容并将其压缩:


我想做的是,在伪代码中:

理想情况下,硬盘驱动器上不会有任何解压文件。

总而言之:我的目标是在硬盘驱动器的分隔符处以压缩状态拆分一组文件,无需中间读写步骤。

如果我不能用 tar/gzip/csplit 做到这一点,那么也许还有别的东西?

0 投票
1 回答
178 浏览

terminal - 使用 csplit 根据分隔符拆分文本文件时遇到问题

我有一个包含多个文本块的文本文件。在每个块之间,我插入了字符串'######## START OF NEW ARTICLE ########'。我正在尝试使用 csplit 在每个实例中拆分文件,以获得单独的文件,每个文件都包含一个唯一的文本块。

这是我通过终端运行的:

我得到错误:csplit: ‘########: unrecognised pattern

我究竟做错了什么?

0 投票
1 回答
64 浏览

regex - 如何在标签上进行 csplit?

我有一个制表符分隔的文件,其中包含由空字段行分隔的数据块。它看起来像这样:

我正在尝试使用 csplit 将此文件拆分为块。当我的模式有 23 个匹配项时,它只会创建两个文件:

我正在使用 CTRL-V 进入选项卡,'\t' 不适用于 csplit 或 grep。环境是 Cygwin 上的 Bash。我用十六进制编辑器检查了文件,它肯定使用了 UNIX 换行符。

我可能做错了什么?

0 投票
2 回答
43 浏览

unix - Unix awk 命令执行特定逻辑

我对 Unix 命令不太擅长并且努力实现这一点。

我有一个像下面这样的文件

输入

输出

本质上,取子字符串_XY_[<STRING>]_并将它们添加到后面的行中,<STRING>,1,a,b,c1直到我们遇到字符串匹配模式_XY_[<STRING>]_,然后重复相同的过程直到 EOF。

我正在尝试找到一种简单的方法来使用awk或将主文件拆分为多个较小的文件。你能在正确的方向吗?

0 投票
2 回答
369 浏览

r - 使用 cSplit 将字符串按大写字母拆分为多行

我有调查数据。有些问题允许多个答案。在我的数据中,不同的答案用逗号分隔。我想在数据框中为每个选择添加一个新行。所以我有这样的事情:

如果逗号只是用来划分我会使用的多个选择:

并得到想要的结果。鉴于一些逗号是答案的一部分,我尝试使用逗号后跟大写字母作为分隔符:

但由于某种原因,它不起作用。它不会给出任何错误,但不会拆分字符串,还会从数据框中删除一些行。然后我尝试使用strsplit:

它可以正确拆分它,但我无法实现它,以便每个句子成为同一列的不同行,就像 cSplit 一样。所需的输出是:

有没有办法使用这两种方法之一来获得它?谢谢

0 投票
1 回答
241 浏览

unix - gzip 的管道输出到 csplit

此命令有效:

但是这个命令:

产量:

如何将 gzip 的输出通过管道传输到 csplit?

0 投票
2 回答
1472 浏览

bash - 将海量 yaml 文件拆分为 N 个有效 yaml 文件

我有一个很大的 yaml 文件:

我想做的是将此文件拆分为 n 个有效的 yaml 文件。

我尝试在 bash 中使用 csplit 执行此操作:

但最终得到的文件比我想要的要多得多: csplit --elide-empty-files -f rendered- example.yaml "/---/" "{*}"

或最后一个文件包含大部分内容的拆分: csplit --elide-empty-files -n 3 -f rendered- app.yaml "/---/" "{3}"

这是不理想的。我真正想要的是能够说,将 yaml 文件分成三份,并在最近的分隔符处分割。我知道这并不总是真正的三分之二。

关于如何在 bash 中完成此任务的任何想法?

0 投票
2 回答
384 浏览

linux - 使用 find 和 csplit 的参数无效

这应该是一个简单的任务……!

我有一个包含许多 html 文件的目录。每个人都有一个名为 的类的 div crumb。我想在crumb. 稍后,我会将拆分文件的第二部分与新的开始部分连接起来。

所以我尝试了这个,分割所有的 html 文件 - 实际上是两个文件,暂时调用news.html-about.html在模式上crumb

但我有这样的回应:

为什么文件名被解释为模式?