Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 将文本追加到gzip日志文件_Bash_Shell_Tee - Fatal编程技术网

Bash 将文本追加到gzip日志文件

Bash 将文本追加到gzip日志文件,bash,shell,tee,Bash,Shell,Tee,有没有一种方法可以“简单地”将日志文本附加到gzip日志文件中 一种echo“foo”| tee-A/tmp/foo.log.gz不太可能,如果你也想tee。你可以 echo "foo" | tee fifo | gzip -c >>/tmp/foo.log.gz 然后分别运行tail-f fifo。(顾名思义,它可以是一个文件,也可以是一个FIFO套接字。)您可以简单地连接gzip连接的内容,但它不会像gzip连接的文本那样小,因为每个块都有标题 # fast and somew

有没有一种方法可以“简单地”将日志文本附加到gzip日志文件中


一种
echo“foo”| tee-A/tmp/foo.log.gz

不太可能,如果你也想
tee
。你可以

echo "foo" | tee fifo | gzip -c >>/tmp/foo.log.gz

然后分别运行
tail-f fifo
。(顾名思义,它可以是一个文件,也可以是一个FIFO套接字。)

您可以简单地连接gzip连接的内容,但它不会像gzip连接的文本那样小,因为每个块都有标题

# fast and somewhat inefficient
echo foo | gzip >> foo.log.gz

# small but slow
gunzip foo.log.gz && echo foo > foo.log && gzip foo.log

这是GNU
gzip
恰好可以使用的东西,还是它是
gzip
文件格式的一个特性(因此可以依赖于它始终工作)?@地毯烟民:gzip格式的特性,以及
gunzip
的工作方式
gzip
是一系列独立的块,每个块都有一个头(可选地带有各种元数据,例如,如果输入是文件,则为文件名)。但是,
gunzip
将透明地连接所有块(忽略它们存在的文件名)。