Wie rekursiv bzip2-Dateien in einem Ordner zu einer einzelnen bz2-Datei

1041
Paddy Mahadeva

Ich habe dieses Problem, bei dem ich alle Dateien mit einem bestimmten Namen finden und alle in eine einzige ZIP-Datei packen muss.

Ich mag müde Sachen

find . -not -name "*bz2" -name "myname*" -exec bzip2 test.bz2 {} +;  and  find . -not -name "*bz2" -name "myname*" -exec bzip2 test.bz2 {} /; 

und viele andere, aber es wird immer getrennt. Bei Bedarf muss es eine bzip-Datei sein.

0

1 Antwort auf die Frage

2
mtak

Bzip kann nicht mehrere Dateien zu einem Archiv zusammenfügen (wie ZIP). Bzip dient nur zum Komprimieren einer einzelnen Datei (wie Gzip).

Wenn Sie mehrere Dateien in ein komprimiertes Archiv aufnehmen möchten, erstellen Sie zunächst mit Tar ein Archiv mit mehreren Dateien und dann das einzelne Archiv.

Du könntest benutzen:

 find . -not -name "*bz2" -name "myname*" | xargs tar -jcvf archive.tar.bz2 

xargssetzt alle gefundenen Dateinamen nach dem Befehl tar (normale Syntax für tar ist tar -jcvf archivename.tar.bz2 file1 file2 file3 ...).