Linux: Wie zerlege ich eine große Datei in kleinere Dateien?

10

Ich habe eine riesige Datei (> 20 Gigs) auf meinem Quellcomputer und muss sie auf meinen Zielcomputer übertragen. Für die Zwecke dieser Frage nehmen wir an, dass ich keine Netzwerkverbindung zwischen den beiden Computern habe.

Ich muss diese Datei in eine Reihe kleinerer Dateien aufteilen, die kleineren Dateien auf DVD (s) schreiben und dann alles auf dem Zielcomputer wieder zusammensetzen.

Sowohl Quell- als auch Zielcomputer sind Linux-Boxen. Gibt es eine Möglichkeit, dies mit zu erreichen tar? Ich habe das Gefühl, dass ich den --multi-volumeParameter verwenden muss. Was sind meine Optionen?

Ich muss in der Lage sein, die Größe der Volumendateien anzugeben, um sicherzustellen, dass jede auf eine einzelne DVD passt.

Vielen Dank!

Runcible
quelle

Antworten:

14

Verwenden Sie den Befehl split.

split -b 22 m newfile.txt new würde die Datei "newfile.txt" in drei separate Dateien mit den Namen newaa, newab und newac aufteilen, wobei jede Datei eine Größe von 22 MB hat.

duffbeer703
quelle
3
Achten Sie darauf, das Präfix "new" zu erstellen, das Sie mit der Originaldatei "newfile.txt" teilen. Wenn Sie es jetzt versuchen, cat new* > newfile.txtwird es explodieren!
Robert Martin
@ RobertMartin Guter Fang!
Duffbeer703
6

Andere Antworten haben behandelt split, um sie zu einer Master-Datei zu kombinieren, die Sie gerade verwenden cat.

koenigdmj
quelle
0

split -b 4000000000 Dateiname

Es wird jede Datei von 4 GB erstellt


quelle