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

0

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

Ich müde Dinge wie

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 ist immer ein separater Reißverschluss. Es muss eine bzip-Datei sein.

Paddy Mahadeva
quelle

Antworten:

2

Bzip kann nicht mehrere Dateien zu einem einzigen Archiv zusammenfassen (z. B. ZIP). Bzip dient nur zum Komprimieren einer einzelnen Datei (wie Gzip).

Wenn Sie mehrere Dateien in ein komprimiertes Archiv aufnehmen möchten, erstellen Sie mit Tar zuerst ein Archiv mit mehreren Dateien und gehen Sie dann auf dieses einzelne Archiv über.

Du könntest benutzen:

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

xargsFügt alle Dateinamen ein, die nach dem Befehl Tar gefunden wurden (normale Syntax für tar ist tar -jcvf archivename.tar.bz2 file1 file2 file3 ...).

mtak
quelle