
Eu tenho esse problema, onde preciso encontrar todos os arquivos com um nome específico e compactar todos eles em um único arquivo zip.
Eu cansei coisas como
find . -not -name "*bz2" -name "myname*" -exec bzip2 test.bz2 {} +;
and
find . -not -name "*bz2" -name "myname*" -exec bzip2 test.bz2 {} /;
e muitos outros, mas é sempre compactando-os separadamente. Preciso que seja um arquivo bzip.
Responder1
O Bzip não pode concatenar vários arquivos em um único arquivo (como ZIP). Bzip serve apenas para compactar um único arquivo (como Gzip).
Se você deseja incluir vários arquivos em um arquivo compactado, use Tar primeiro para criar um arquivo de vários arquivos e, em seguida, compactar esse único arquivo.
Você poderia usar:
find . -not -name "*bz2" -name "myname*" | xargs tar -jcvf archive.tar.bz2
xargs
colocará todos os nomes de arquivos encontrados após o comando Tar (a sintaxe normal para tar é tar -jcvf archivename.tar.bz2 file1 file2 file3 ...
).