Gibt es eine Möglichkeit, aufgeteilte Dateien wieder zusammenzusetzen, ohne alle Teile explizit aufzuzählen?

Gibt es eine Möglichkeit, aufgeteilte Dateien wieder zusammenzusetzen, ohne alle Teile explizit aufzuzählen?

Früher habe ich split -b 32m "file.bz2" "file.bz2.part-"eine Datei aufgeteilt und dabei wurden mehr als 50 Teile erstellt. Beim Googeln habe ich herausgefunden, dass ich die Teile wie folgt wieder zusammensetzen kann: cat file.bz2.part-aa file.bz2.part-ab > file.bz2, wobei alle über 50 Teile aufgelistet werden. Gibt es eine einfachere Möglichkeit, die Teile wieder zusammenzusetzen, bei der ich nicht mehr alle Teile explizit auflisten muss?

Ich verwende Fedora 12.

Antwort1

Dafür gibt es Platzhalter und Klammererweiterungen. Prüfen Sie, ob echo file.bz2.part-*die Dateinamen in der gewünschten Reihenfolge zurückgegeben werden, und verwenden Sie cat file.bz2.part-* > file.bz2diese Option, wenn dies der Fall ist. Andernfalls suchen Sie sich eine andere, komplexere Erweiterung, die dies tut.

Antwort2

spliterstellt seine Teildateinamen in aufsteigender lexikografischer Reihenfolge. Da Platzhaltererweiterungen die Dateien in lexikografischer Reihenfolge auflisten, cat file.bz2part-* > file.bz2werden die Teile in der richtigen Reihenfolge aneinandergereiht.

Antwort3

Versuchen:

for i in `ls file.part-* |sort`; do echo $i; cat $i >> newfile; done

verwandte Informationen