Warum ist mein .tar.gz größer als die Summe der separat komprimierten Dateien?

419
der_grund

Ich habe folgende Situation beobachtet, die für mich etwas unerwartet ist:

Ich habe eine CSV-Datei und eine entsprechende TXT-Datei. Unkomprimiert sind ihre Größen 375 MB und 5 KB.

  • Wenn ich die CSV-Datei gzipmit Standardeinstellungen komprimiere, wird sie auf 95 MB reduziert. Also zusammen habe ich ~ 95MB.
  • Wenn ich beide Dateien in einem Tarball gzipbündle und sie dann mit den Standardeinstellungen komprimiere, lande ich auf 189 MB.

Soweit ich weiß, sollte das komprimierte Archiv eher kleiner als die komprimierte CSV-Datei + die TXT-Datei sein, da dann gzipin allen Dateien nach Redundanzen aus dem Archiv gesucht werden kann. Ich weiß, dass dies für meinen speziellen Fall keine Rolle spielt, da die TXT-Datei so klein ist.

Sollte die .tar.gz-Datei jedoch nicht etwa die gleiche Größe wie die komprimierte CSV + TXT-Datei haben? In meinem Fall ist es mehr als doppelt so groß ...

Ich möchte mehrere Schichten Archivierung / Komprimierung vermeiden, aber trotzdem eine gute Komprimierung erreichen. Fehlt mir etwas?

2
Es ist fast so, als wäre die 95 MB-Datei zweimal enthalten - haben Sie bestätigt, dass dies nicht der Fall ist? Andrew Morton vor 5 Jahren 4
Wir benötigen eine Aufzeichnung Ihrer Sitzung, um zu verstehen, was passiert ist. harrymc vor 5 Jahren 0
@AndrewMorton Du hattest recht. Ich habe das Archiv in einem Skript erstellt, um drei Dateien zu bündeln. Ich habe tatsächlich drei Dateien in das Archiv eingefügt, aber anstelle einer anderen kleinen Textdatei fand der reguläre Ausdruck die bereits komprimierte CSV-Datei, sodass er zweimal im Archiv landete. Ich habe nur nach drei Dateien gesucht, aber ich habe vermisst, dass die falsche darin war. Danke, dass du mich zweimal anschaust! der_grund vor 5 Jahren 0

0 Antworten auf die Frage