尾巴 | gzip 给出的文件长度与 tail 之后的 gzip 不同
tail | gzip gives different file length than gzip after tail
我想压缩文件的最后 N 个字节。然而,尾| gzip 在 tail 之后给出与 gzip 不同的输出长度。
tail --bytes=1000 ./input > ./output.tmp
gzip -k output.tmp
tail --bytes=1000 ./input | gzip > ./output.gz
stat --format=%n:%s *
input : 4843152
output.gz : 449
output.tmp : 1000
output.tmp.gz : 460
为什么 tail
然后 gzip
给出 460 字节,而 tail | gzip
给出 449 字节?
http://www.zlib.org/rfc-gzip.html#header-trailer
如果压缩文件,原始文件名会记录在 FNAME 字段中。
如果压缩流,则没有原始文件名。
这似乎解释了你的情况的不同。
我想压缩文件的最后 N 个字节。然而,尾| gzip 在 tail 之后给出与 gzip 不同的输出长度。
tail --bytes=1000 ./input > ./output.tmp
gzip -k output.tmp
tail --bytes=1000 ./input | gzip > ./output.gz
stat --format=%n:%s *
input : 4843152
output.gz : 449
output.tmp : 1000
output.tmp.gz : 460
为什么 tail
然后 gzip
给出 460 字节,而 tail | gzip
给出 449 字节?
http://www.zlib.org/rfc-gzip.html#header-trailer
如果压缩文件,原始文件名会记录在 FNAME 字段中。 如果压缩流,则没有原始文件名。
这似乎解释了你的情况的不同。