Cómo convertir recursivamente archivos bzip2 en una carpeta a un solo archivo bz2

Cómo convertir recursivamente archivos bzip2 en una carpeta a un solo archivo bz2

Tengo este problema, donde necesito encontrar todos los archivos con un nombre particular y comprimirlos todos en un solo archivo zip.

Me canso cosas como

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

and

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

y muchos otros, pero siempre se cierran por separado. Necesito que sea un archivo bzip.

Respuesta1

Bzip no puede concatenar varios archivos en un solo archivo (como ZIP). Bzip es sólo para comprimir un solo archivo (como Gzip).

Si desea incluir varios archivos en un archivo comprimido, use Tar primero para crear un archivo de varios archivos y luego comprima ese único archivo.

Podrías usar:

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

xargspondrá todos los nombres de archivos que se encuentren después del comando Tar (la sintaxis normal para tar es tar -jcvf archivename.tar.bz2 file1 file2 file3 ...).

información relacionada