用于动态压缩/解压缩的工具/库

用于动态压缩/解压缩的工具/库

我正在寻找允许动态压缩和解压缩的库或 Linux 命令行工具。我所说的“即时”是指可以与以下 sh 脚本一起使用的东西:

> while:; do; echo "foobar"; sleep 1; done; | <tool to compress> > file &
> sleep 4
> <tool to decompress> file 
foobar
foobar
foobar
foobar

据我了解gzip,zlib 在这里不起作用。我的“测试”产生以下输出:

> while:; do; echo "foobar"; sleep 1; done; | gzip > file &
> sleep 4
> zcat file 
gzip: file: unexpected end of file

有什么选择吗?

答案1

gzip确实有效,但它只写入 16KiB 压缩块(在我的测试中),并且由于您的输入压缩真的嗯,需要一段时间才能到达那里。如果你跑

while :; do echo "foobar"; sleep 1; done | gzip > file &

稍等一下,然后仅删除第一部分,您将获得有效的压缩file.

如果你想在不杀死任何东西的情况下进行测试,请删除sleep

yes foobar | gzip > file &

几秒钟后,您将看到file增加到 16KiB。

相关内容