como faço para compactar todos os arquivos dentro de uma pasta no Unix?

1

Não consegui compactar o conteúdo de uma pasta no Unix, note que não quero compactar o diretório em si, mas o conteúdo interno.

até agora .. para compactar os arquivos que eu uso:

compress /serv/test/file.sas7dbt

Digamos que eu queira compactar todos os arquivos no teste de pasta, como posso conseguir isso?

    
por isJustMe 31.10.2011 / 20:49

1 resposta

1

Se você pode usar o bzip2:

for file in /serv/test/*; do
    bzip2 -k $file
done

A opção -k mantém o arquivo original.

Com compressa, o loop seria muito próximo.

Se você puder usar tar , ele criará um único arquivo morto em vez de vários arquivos.

EDIT: como apontado por gman, o utilitário find pode ser usado para compactar em vez de fazer um loop for:

find /serv/test/ -type f -exec bzip2 -k {} \;
    
por 31.10.2011 / 21:06

Tags