非圧縮サイズの大きなGZIPPEDファイルを処理する最速の方法
ファイルをgzipで圧縮すると、特に非圧縮ファイルのサイズが4 GBを超える場合に、非圧縮ファイルサイズが何であるかを(圧縮解除せずに)すばやく照会する方法があります。 RFC https://tools.ietf.org/html/rfc1952#page-5によると、ファイルの最後の4バイトを照会できますが、非圧縮ファイルが> 4GBの場合、値は単にuncompressed value modulo 2^32 この値はを実行して取得することもできますがgunzip -l foo.gz、uncompressed value modulo 2^32上記のようにフッターを読み込んでいると考えられるため、「uncompressed」列には再び含まれています。 最初に解凍せずに非圧縮ファイルサイズを取得する方法があるかどうか疑問に思っていましたが、これはgzipされたファイルに50GB以上のデータが含まれ、次のような方法を使用して解凍するのに時間がかかる場合に特に便利です gzcat foo.gz | wc -c 編集: 4GBの制限は、OSXに含まれるユーティリティのmanページで公に認められていますgzip(Apple gzip 242) BUGS According to RFC 1952, the recorded file size is stored in a 32-bit integer, therefore, it can not represent files larger than 4GB. This limitation …