在巨大的gzip文件的顶部附加一行

aad*_*hsg 3 linux shell logging

我有一个巨大的gzip文件(~400MB).我想在文件的BEGINNING附加一行文本.

我正在考虑使用标题行创建一个gzip文件,然后使用zcat组合头文件和日志文件.只是想检查一下是否有更好/更优雅/更有效的方法.

Abe*_*ree 7

连接到单个文件的两个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)


Ste*_*mit 5

这应该有效:

gzip < newlineoftext > newfile.gz
cat oldfile.gz >> newfile.gz
Run Code Online (Sandbox Code Playgroud)

(因为,正如另一个答案已经指出的那样,两个 gzip 压缩文件连接在一起是一个有效的 gzip 文件。)