小编Cra*_*den的帖子

并行分割文本和进程

我有一个程序可以生成很多(太字节)的输出并将其发送到stdout.

我想分割输出并与另一个程序的一堆实例并行处理它.它可以以任何方式分发,只要线条保持完整即可.

Parallel可以执行此操作,但它需要固定数量的行并在此之后重新启动过滤器进程:

./relgen | parallel -l 100000 -j 32 --spreadstdin ./filter
Run Code Online (Sandbox Code Playgroud)

有没有办法保持一定数量的进程运行并在它们之间分配数据?

parallel-processing bash gnu-parallel

7
推荐指数
1
解决办法
390
查看次数

重新排序文本文件中的行以获得更好的压缩率

我有很多巨大的文本文件,需要以尽可能高的比率进行压缩。压缩速度可能会很慢,只要解压速度合理即可。

这些文件中的每一行都包含一个数据集,它们可以按任意顺序存储。

与此问题类似的问题: 排序文件以优化压缩效率

但对我来说压缩速度不是问题。是否有现成的工具可以将相似的线条组合在一起?或者也许只是我可以实现的算法?

单独排序会带来一些改进,但我怀疑还有更多可能。

每个文件长约 6 亿行,每个文件约 40 字节,总共 24GB。使用 xz 压缩到 ~10GB

linux compression algorithm bash

5
推荐指数
1
解决办法
97
查看次数