aad*_*hsg 3 linux shell logging
我有一个巨大的gzip文件(~400MB).我想在文件的BEGINNING附加一行文本.
我正在考虑使用标题行创建一个gzip文件,然后使用zcat组合头文件和日志文件.只是想检查一下是否有更好/更优雅/更有效的方法.
连接到单个文件的两个gzip压缩文件实际上是一个有效的gz文件.
试试吧.
Gzip你想要的第一个单行,然后把两个到第三个.
print "My newline" | gzip -c > /tmp/smallzip.gz
cat /tmp/smallzip.gz mybigfile.gz > newbigfile.gz 
Run Code Online (Sandbox Code Playgroud)
这将节省解压缩大gz文件的时间和CPU,在你的行和重新拉链之前,这将是:
(
    echo "My newline"
    zcat bigfile.gz
) | gzip -c > newbifile.gz 
Run Code Online (Sandbox Code Playgroud)
        这应该有效:
gzip < newlineoftext > newfile.gz
cat oldfile.gz >> newfile.gz
Run Code Online (Sandbox Code Playgroud)
(因为,正如另一个答案已经指出的那样,两个 gzip 压缩文件连接在一起是一个有效的 gzip 文件。)