Das Dekomprimieren dieser .gz-Dateien führt zu seltsamen / unerwarteten Ergebnissen. Können Sie das zum Laufen bringen?

1125
Nick Josevski

Ich habe eine Sammlung von Mailinglisten-Archivdateien, die alle gzip'd sind. Sie befinden sich in einer verschachtelten Verzeichnisstruktur, die mit einem scheinbar leeren Ordner- / Jargonnamen beginnt .

Die Dateien sind hier: http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/

An der Kopfzeile jeder Datei sieht es folgendermaßen aus:

‹vÑKÿ/var/lib/mailman/archives/private/rabbitmq-discuss/ 

Ich habe versucht, 7Zip, WinRAR und gzip unter Windows 7 über die Befehlszeile zu verwenden.

Auch gzip unter OS X, mit den gleichen Ergebnissen, fehlt mir etwas offensichtliches? Ich konnte die Verzeichnisstruktur nicht neu aufbauen, das Ergebnis scheint eine Zusammenführung der Verzeichnisstruktur und der Datei zu sein.

Wenn es funktioniert, kannst du mir was sagen:

  • Betriebssystem, das Sie verwendet haben
  • Komprimierungs- / Dekomprimierungswerkzeug
  • Die Befehlszeilenargumente oder Automationsmethode

Ich möchte dies in einem Durchgang oder automatisch tun, ohne jede Datei über eine GUI-Anwendung eingeben zu müssen.

5
NOTE: If you stumble upon this question while trying to resolve something on RabbitMQ try a live search of the mailing list with Google site based search, example query: http://www.google.com/search?q=site%3Alists.rabbitmq.com+%22basic.get%22+%22basic.consume%22+rabbitmq&btnG=Search&meta=&aq=f&oq= Nick Josevski vor 13 Jahren 0

1 Antwort auf die Frage

6
Stephen Jennings

Die Datei wird zweimal gezippt. Versuchen Sie diese Befehle unter Mac OS X oder Linux:

wget http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/2011-May.txt.gz gzip -d 2011-May.txt.gz 

Sie sollten mit der Datei enden, 2011-May.txtdie aus reinem Text besteht. Auf meinem System wgetwird das Speichern einer einfach komprimierten Datei, die zu Klartext dekomprimiert wird, ordnungsgemäß gespeichert.

Wenn Sie bereits über eine doppelt gepackte Datei verfügen, können Sie den folgenden Befehl ausführen:

gzip -cd 2011-May.txt.gz | gzip -cd > 2011-May.txt 

Dadurch wird die Datei zweimal dekomprimiert und geschrieben. Unter Windows 7 sollten Sie alternativ die Möglichkeit haben, die komprimierte Datei mit 7zip zu dekomprimieren, sie dann erneut mit 7zip zu öffnen und erneut zu dekomprimieren. Sie sollten die unkomprimierte Datei erhalten.

Wenn Sie eine große Anzahl solcher Dateien in einem Verzeichnis haben, können Sie Folgendes tun:

for file in *.gz; do mv $file $file.gz; done; gunzip *.gz gunzip *.gz 

Dadurch werden alle Dateien umbenannt, in denen sie enden *.gz, *.gz.gzund werden dann gunzipzweimal auf ihnen ausgeführt.

Super, danke, Stephen, ich hatte den Verdacht, dass es so etwas war, aber ich wusste nicht, dass es in Ordnung war, Gzip in Gzip zu leiten. Nick Josevski vor 13 Jahren 1
Kein Problem. Ihre Frage hat mir schließlich gezeigt, wie die Befehlszeile von gzip funktioniert, also habe ich auch gelernt. Stephen Jennings vor 13 Jahren 0
Gute Arbeit auch bei einem Batch-Ansatz. Ich habe die Ausgabe von gzip sowieso in eine Datei umgeleitet, was mein nächster Schritt mit all den einzelnen Dateien sein sollte. Nick Josevski vor 13 Jahren 0