Ich muss eine große Datei von ca. 17-20 GB komprimieren. Ich muss es in mehrere Dateien von etwa 1 GB pro Datei aufteilen.
Ich suchte über Google nach einer Lösung und fand Wege mit split
und cat
Befehlen. Bei großen Dateien funktionierten sie jedoch überhaupt nicht. Außerdem funktionieren sie unter Windows nicht. Ich muss es auf einem Windows-Computer extrahieren.
Antworten:
Sie können den
split
Befehl mit der-b
Option verwenden:Es kann auf einem Windows-Computer mithilfe der Antwort von @ Joshua wieder zusammengesetzt werden .
Bearbeiten : Wie @Charlie im Kommentar unten angegeben hat, möchten Sie möglicherweise ein Präfix explizit festlegen, da es
x
anderweitig verwendet wird, was verwirrend sein kann.Bearbeiten : Bearbeiten des Beitrags, da die Frage geschlossen ist und die effektivste Lösung dem Inhalt dieser Antwort sehr nahe kommt:
Diese Lösung vermeidet die Notwendigkeit, beim (De-) Komprimieren eine große Zwischendatei zu verwenden. Verwenden Sie die Option tar -C, um ein anderes Verzeichnis für die resultierenden Dateien zu verwenden. Übrigens, wenn das Archiv nur aus einer einzigen Datei besteht, könnte tar vermieden und nur gzip verwendet werden:
Für Windows können Sie portierte Versionen derselben Befehle herunterladen oder cygwin verwenden.
quelle
-b 1024MiB
ergab den Fehler, dass es sich um eine ungültige Anzahl von Bytes handelte. Mit--bytes=1024m
Werken.cat
, um die Datei wieder zusammenzusetzen. Sie könnencopy /b file1 + file2 + etc..
unter Windows verwenden, dann zurück nach Linux kopieren und tar kann den wieder zusammengesetzten Tarball lesen. Ich habe es gerade versucht.--numeric-suffixes
: Verwenden Sie numerische Suffixe anstelle von alphabetischen.Wenn Sie von Linux trennen, können Sie in Windows trotzdem wieder zusammenbauen.
quelle
copy /b file* filetogether
- support.microsoft.com/kb/71161Verwenden Sie tar, um in mehrere Archive aufzuteilen
Es gibt viele Programme, die mit TAR-Dateien unter Windows funktionieren, einschließlich Cygwin.
quelle
Getesteter Code erstellt zunächst eine einzelne Archivdatei und teilt sie dann auf:
Diese Variante lässt das Erstellen einer einzelnen Archivdatei aus und geht direkt zum Erstellen von Teilen über:
Wenn in dieser Variante die Dateigröße des Archivs durch teilbar ist
$CHUNKSIZE
, hat die letzte Teildatei eine Dateigröße von 0 Byte.quelle
split
macht es schon.