Linux 如何压缩a";尾部-f“;到压缩(gzip)文件?

Linux 如何压缩a";尾部-f“;到压缩(gzip)文件?,linux,compression,gzip,pipe,tail,Linux,Compression,Gzip,Pipe,Tail,我尝试了以下操作,但结果文件的大小保持为0 tail -f /logs/localhost.log | gzip -c -9 -f > compressed.gz localhost.log非常活跃 谢谢。您不能这样做,因为gzip实用程序不逐行读取输入,它需要EOF。 但是,您可以使用任何具有zlib实现的编程语言在包装器上编写代码。(8)就是为了解决这类问题而设计的,它可以旋转和压缩日志文件 你就是不够耐心。这将起作用,它将写入gzip文件。积累足够的输入以写入第一个压缩块需要一段时

我尝试了以下操作,但结果文件的大小保持为0

tail -f /logs/localhost.log | gzip -c -9 -f > compressed.gz
localhost.log非常活跃


谢谢。

您不能这样做,因为gzip实用程序不逐行读取输入,它需要EOF。
但是,您可以使用任何具有zlib实现的编程语言在包装器上编写代码。

(8)就是为了解决这类问题而设计的,它可以旋转和压缩日志文件

你就是不够耐心。这将起作用,它将写入gzip文件。积累足够的输入以写入第一个压缩块需要一段时间。特别是如果输入是高度可压缩的,例如,日志条目彼此非常相似


不过这也有一个问题,因为gzip文件永远不会被正确终止,因为gzip永远不会得到文件的结尾。

gzip会进行大量缓冲。在任何东西到达输出之前,可能需要1000多行。也许它没有那么活跃?为什么不
gzip-c-9-f/log/compressed.gz
?我不确定
gzip
是否逐行读取(但它肯定有一些缓冲区),我也不确定它在EOF之前是否工作(实际上,在
tar
tardy
之后的管道中使用
gzip
时,它在EOF之前开始工作)。