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?
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?
Antworten:
Sie können split und cat verwenden .
Zum Beispiel so etwas wie
$ split --bytes 500M --numeric-suffixes --suffix-length=3 foo foo.
(wobei der Eingabedateiname foound das letzte Argument das Ausgabepräfix ist). Dies erstellt Dateien wie foo.000 foo.001...
Der gleiche Befehl mit kurzen Optionen:
$ split -b 100k -d -a 3 foo foo
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:
$ cat foo.* > foo_2
(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:
$ cmp foo foo_2
$ echo $?
(die 0 ausgeben sollte)
Alternativ können Sie eine Kombination aus find / sort / xargs verwenden, um die Teile wieder zusammenzusetzen:
$ find -maxdepth 1 -type f -name 'foo.*' | sort | xargs cat > foo_3
man split cat md5sum
cat foo.{000..NNN}wo NNNdas letzte erwartete Stück ist. Auf diese Weise erhalten Sie eine Fehlermeldung, wenn eines der Teile fehlt. Beachten Sie jedoch, dass -ddas Abrufen von numerischen Suffixen spezifisch für die GNU-Aufteilung ist. auf anderen Plattformen müssen Sie mit dem auskommen foo.aaa, foo.aabetc.
splitKB = 1000, K = 1024, MB = 1000 * 1000, M = 1024 * 1024 usw.
... cat > foo_3sein ... cat >>foo_3?
rarund 7zipwerden oft verwendet, um solche Splits einfacher plattformübergreifend wieder zusammenzusetzen
Sie 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".