gunzip -l
Egy elég bosszantó hibába futottam bele nemrég. Egy nagy file tömörítése után gunzip -l paranccsal megnéztem mennyire sikerült a tömörítés, és a következő furcsa eredményt kaptam:
$ gunzip -l nagy.gz
compressed uncompressed ratio uncompressed_name
4403498359 207437312 -2022.8% nagy
Vagyis gunzip szerint egy 200MB-s fájlt tömörítettem össze 4.4GB-ra, ami nyilván nem igaz. Némi utánaolvasás ( értsd: jó sok időt elszúrtam vele ) után a következő részt találtam gzip man oldalán: The gzip format represents the input size modulo 2^32, so the –list option reports incorrect uncompressed sizes and compression ratios for uncompressed files 4 GB and larger. To work around this problem, you can use the following command to discover a large uncompressed file’s true size:
zcat file.gz | wc -c Ami szabad fordításban annyit tesz, hogy 4GB-nál nagyobb tömörítetlen fájloknál hülyeséget ír ki gunzip, és nem is valószínű, hogy hamarosan megjavítják. A javasolt megoldás valóban működik, bár érthető módon igen lassú:
$ zcat nagy.gz | wc -c
4502404608
A megoldásból az is látszik, hogy csak a méret kiírásával van gondja gzip-nek, valójában képes a nagy fájlokat kicsomagolni.