【发布时间】:2021-05-11 15:37:29
【问题描述】:
我有一个包含数十万行的文件,如下所示:
>something
somethingelse
>something2
somethingelse2
>something3
somethingelse3
>something4
somethingelse4
>something5
somethingelse5
>something6
somethingelse6
>something7
somethingelse7
>something8
somethingelse8
>something9
somethingelse9
>something10
somethingelse10
等等
每 2 行配对,例如,这将被视为文件中的 1 个条目:
>something
somethingelse
我希望能够将其拆分为大小大致相等的 n 文件。但是,在拆分时,每个文件都应将条目保持在一起:n 拆分部分应包含大致偶数个条目,而不是仅在行上拆分。例如,如果我要尝试将其拆分为大约 4 个文件,我想要这样的东西:
文件第 1 部分
>something
somethingelse
>something2
somethingelse2
>something3
somethingelse3
文件第二部分
>something4
somethingelse4
>something5
somethingelse5
>something6
somethingelse6
文件第 3 部分
>something7
somethingelse7
>something8
somethingelse8
文件第 4 部分
>something9
somethingelse9
>something10
somethingelse10
剩下的 2 最终在哪个文件部分并不重要,只要文件包含大致相同数量的条目,并且条目保持在一起,所以 不是:
文件1:
>something
somethingelse
>something2
文件2:
somethingelse2
>something3
somethingelse3
我考虑过使用split -l 命令,但据我所知,它仅限于:将此文件拆分为数十万个文件,每个文件仅包含 2 行,或将文件拆分为数量大致相等的部分行数,但可以拆分条目(第一行在一个部分结束,第二行在另一部分结束)。
有没有我忽略的简单方法可以使用 bash 命令执行此操作?
【问题讨论】:
标签: bash