Posso de alguma forma atualizar arquivos compactados?

4

Estou tentando encontrar todos os arquivos com extensão, mas estou recebendo este erro:

tar: Cannot update compressed archives
Try 'tar --help' or 'tar --usage' for more information.
tar: Cannot update compressed archives
Try 'tar --help' or 'tar --usage' for more information.
tar: Cannot update compressed archives
Try 'tar --help' or 'tar --usage' for more information.
tar: Cannot update compressed archives
Try 'tar --help' or 'tar --usage' for more information.
tar: Cannot update compressed archives
Try 'tar --help' or 'tar --usage' for more information.
tar: Cannot update compressed archives
Try 'tar --help' or 'tar --usage' for more information.

Aqui está o script:

touch archive.tar.bz2; find . -type f \( -name '*.bak' -o -name '*.c' -o -name '~*' \) -exec tar rjvf archive.tar.bz2 {} \; -exec rm -rf {} \;

Existe alguma maneira de atualizar o arquivo compactado usando o find?

    
por pnom 14.05.2016 / 16:14

1 resposta

4

Não, você não pode atualizar um arquivo compactado usando tar .

Mas , se o seu script estiver criando o arquivo morto (usando touch ), você poderá atualizá-lo e compactá-lo posteriormente. Altere rjvf para rvf e, no final do seu script, execute bzip2 archive.tar (eu tomo da opção j e suas tags que você deseja usar bzip2 para compactação).

    
por 14.05.2016 / 16:20