Wie zerlege ich eine große + 4 GB- Datei in kleinere Dateien mit jeweils ca. 500 MB .
Und wie kann ich wieder zusammenbauen sie wieder die ursprüngliche Datei zu bekommen?
command-line
split
Stefan
quelle
quelle
Antworten:
Sie können split und cat verwenden .
Zum Beispiel so etwas wie
(wobei der Eingabedateiname
foo
und das letzte Argument das Ausgabepräfix ist). Dies erstellt Dateien wiefoo.000 foo.001
...Der gleiche Befehl mit kurzen Optionen:
Sie können auch "--line-bytes" angeben, wenn Sie möchten, dass die Zeilengrenzen anstelle der exakten Anzahl von Bytes geteilt werden.
Zum erneuten Zusammensetzen der generierten Teile können Sie zB verwenden:
(Unter der Annahme, dass die Shell die Ergebnisse des Shell-Globbing sortiert und die Anzahl der Teile die systemabhängige Grenze der Argumente nicht überschreitet.)
Sie können das Ergebnis vergleichen über:
(die 0 ausgeben sollte)
Alternativ können Sie eine Kombination aus find / sort / xargs verwenden, um die Teile wieder zusammenzusetzen:
quelle
man split cat md5sum
cat foo.{000..NNN}
woNNN
das letzte erwartete Stück ist. Auf diese Weise erhalten Sie eine Fehlermeldung, wenn eines der Teile fehlt. Beachten Sie jedoch, dass-d
das Abrufen von numerischen Suffixen spezifisch für die GNU-Aufteilung ist. auf anderen Plattformen müssen Sie mit dem auskommenfoo.aaa
,foo.aab
etc.split
KB = 1000, K = 1024, MB = 1000 * 1000, M = 1024 * 1024 usw.... cat > foo_3
sein... cat >>foo_3
?rar
und7zip
werden oft verwendet, um solche Splits einfacher plattformübergreifend wieder zusammenzusetzenSie können dies auch mit Archive Manager tun, wenn Sie eine grafische Benutzeroberfläche bevorzugen. Suchen Sie unter "Speichern-> Andere Optionen-> In Volumes aufteilen von".
quelle