Große Dateien teilen und wieder zusammenfügen

split und cat
split und cat
13.08.2012 13:08

Selbst in Zeiten übergroßer Festplatten und Breitbandanschlüssen steht man immer mal wieder vor der Aufgabe eine überdimensionale Datei in kleine, mundgerechte Häppchen zu unterteilen. Sei es, weil man ein großes HD-Video oder ein Backup auf mehreren DVDs sichern möchte oder man eine fette ISO-Datei auf einem kleinen USB-Stick transportieren muss.

Spalter

In solchen Situationen hilft das Kommandozeilenprogramm split. Es sollte in den meisten aktuellen Distributionen standardmäßig installiert sein, zumindest aber in den Repositories liegen. Um mit ihm die große Datei megagross.iso in 500 MB große Stückchen zu zerlegen, benötigt man schlicht:

split --verbose --bytes=500m --suffix-length=2 --numeric-suffixes
megagross.iso megagross.iso.teil_

Die einzelnen Teile erhalten dabei Dateinamen der Form megagross.iso.teil_01, megagross.iso.teil_02 und so weiter. Wie viele Stellen die angehängten Ziffern umfassen sollen, bestimmt der Parameter --suffix-length=. Sein Kollege --bytes= regelt die Größe der einzelnen Stücke. Der Parameter --numeric-suffixes sorgt schließlich dafür, dass split Zahlen verwendet. Ohne ihn nutzt split Buchstaben, die einzelnen Teile im Beispiel würden dann megagross.iso.teil_aa, megagross.iso.teil_ab und so weiter heißen.

Wer auf diese Weise ein Backup erstellen möchte, kann das Einpacken gleich mit dem Aufspalten verbinden – und zwar über eine Pipe:

tar -cz * | split --bytes=500m --suffix-length=2 --numeric-suffixes - ../meinbackup.tgz.teil_

Dieser Befehl erstellt ein tgz-Archiv und verteilt es automatisch auf 500 MB große Stücke mit den Namen meinbackup.tgz.teil_01, meinbackup.tgz.teil_02 und so weiter.

Das Teilen und Zusammenfügen einer großen Datei benötigt nur zwei Befehle. Anstelle von "m" für Megabyte kann man wie hier auch "k" für Kilobyte verwenden.

Zusammenfügen

Am Zielort setzt dann ein simples:

cat megagross.iso.teil_* > megagross.iso

die Einzelteile wieder zur ursprünglichen Datei zusammen. Doch Vorsicht: Sollte es bereits eine Datei namens megagross.iso geben, wird diese gnadenlos und ohne Rückfrage überschrieben.

Eine aufgesplittetes tgz-Archiv lässt sich ebenfalls per Pipe direkt beim Zusammensetzen entpacken:

cat meinbackup.tgz.teil_* | tar xvz

Trau schau wem

Sicherheitsfanatiker erstellen vor dem Splitten noch eine Prüfsumme, etwa mit md5sum:

md5sum megagross.iso > pruefsumme.txt

Bei diesem Befehl landet die Prüfsumme in der Datei pruefsumme.txt. Das erspart das Abtippen der kryptischen Nummer: Man muss die Datei nur mitkopieren und dann nach dem Zusammenfügen mit folgendem Befehl prüfen:

md5sum -c pruefsumme.txt

Die Ausgabe sollte dann schlicht OK lauten.


Kommentare
Guter Tipp
Christian (unangemeldet), Donnerstag, 05. Januar 2017 10:04:54
Ein/Ausklappen

Vielen Dank für die Anleitung. Bringt mich weiter, als die Aufteilung nur mit Tar (falls das in eine Datei überhaupt geht), denn ich kann dabei auch packen. Im Gegensatz zum Vorposter ist die Anleitung durchaus sinnvoll. Was nützen mir die Man-Pages, wenn ich nicht weiß, dass ich das mit Split überhaupt machen kann.


Bewertung: 217 Punkte bei 30 Stimmen.
Den Beitrag bewerten: Gut / Schlecht
Wieder nur die Offensichtlichkeiten erklärt
Norman (unangemeldet), Mittwoch, 07. September 2016 15:00:05
Ein/Ausklappen

Die erklärten Optionen lassen sich alle in man oder help nachlesen. Aber was ist mit dem vereinzelten '-' ? Wofür steht das? Darüber wurde kein Wort verloren..


Bewertung: 146 Punkte bei 74 Stimmen.
Den Beitrag bewerten: Gut / Schlecht
-
Re: Wieder nur die Offensichtlichkeiten erklärt
Tim Schürmann, Mittwoch, 07. September 2016 19:40:46
Ein/Ausklappen

Machen Sie es besser. ;-) Jeder kann auf der LinuxCommunity eigene Artikel und News einreichen, die wir dann veröffentlichen. Über einen ausführlicheren Artikel über "split" würden wir uns jedenfalls freuen.


Bewertung: 194 Punkte bei 85 Stimmen.
Den Beitrag bewerten: Gut / Schlecht
Re: Wieder nur die Offensichtlichkeiten erklärt
Joachim (unangemeldet), Dienstag, 28. November 2017 12:53:52
Ein/Ausklappen

Hi, wie du selbst gesagt hast, lassen sich alle Optionen in der Manpage nachlesen. ;-)
Dort steht auch ziemlich am Beginn: "With no INPUT, or when INPUT is -, read standard input."
Das einzelne '-' braucht man in dem Fall, um von standard input zu lesen, damit die Daten verarbeitet werden, die von tar über die Pipe daher kommen.


Bewertung: 149 Punkte bei 7 Stimmen.
Den Beitrag bewerten: Gut / Schlecht

Aktuelle Fragen

sharklinux
Gerd-Peter Behrendt, 18.01.2018 23:58, 0 Antworten
Hallo zusammen, ich habe sharklinux von der DVD Installiert. 2x, jedesmal nach dem Reboot ist di...
Anfänger sucht Ratschläge
Alucard Nosferatu, 18.01.2018 21:56, 3 Antworten
Guten Tag, meine Wenigkeit würde gerne auf einer meiner Festplatten von meinen Feldrechnern e...
Suchprogramm
Heiko Taeuber, 17.01.2018 21:12, 1 Antworten
Hallo liebe Community, keine Ahnung ob dieses Thema hier schon einmal gepostet wurde. Ich hab...
Linux Mint als Zweitsystem
Wolfgang Robert Luhn, 13.01.2018 19:28, 4 Antworten
Wer kann mir helfen??? Habe einen neuen Laptop mit vorinstaliertem Windows 10 gekauft. Möchte g...
externe soundkarte Kaufempfehlung
lara grafstr , 13.01.2018 10:20, 3 Antworten
Hallo Ich bin auf Suche nach einer externen soundkarte.. Max 150 Euro Die Wiedergabe is...

Stellenmarkt

Jetzt auf den Mailinglisten

Re: [EasyLinux-Ubuntu] Mail von Smart (2x)
Heiko Ißleib, 20.01.2018 03:56
Hallo Udo. Da habe ich eine viel schlechtere Platte,die jetzt fast 9 Jahre läuft. Gruß Heiko.
Re: [EasyLinux-Ubuntu] Mail von Smart (2x)
Uwe Herrmuth, 19.01.2018 23:16
Hallo Udo, Udo schrieb am 19.01.2018 um 18:33: > Klar, ich spiele mit Festplatten immer erst einige Rund...
Re: [EasyLinux-Ubuntu] Mail von Smart (2x)
Udo Teichmann, 19.01.2018 18:33
Am Donnerstag, den 18.01.2018, 21:00 +0100 schrieb Uwe Herrmuth: Hallo Uwe > Ich würde mir vorerst keine...
Re: [EasyLinux-Ubuntu] Mail von Smart (2x)
Uwe Herrmuth, 18.01.2018 21:00
Hallo Udo, Udo schrieb am 18.01.2018 um 19:20: > > smartctl --all /dev/sdb > > Habe ich g...
Re: [EasyLinux-Ubuntu] Mail von Smart (2x)
Udo Teichmann, 18.01.2018 19:20
Am Donnerstag, den 04.01.2018, 08:48 +0100 schrieb Uwe Herrmuth: Hallo Udo > Ich würde mal als Root &g...