Como recursivamente zipar subpastas?

3

Estou batendo minha cabeça contra a parede algumas horas agora ....

tentando recursivamente zipar subpastas, mas apenas os arquivos nelas. Eu tenho tentado modificar este script:

for i in */*/; do zip -j -r "${i%/}.zip" "$i" ; done

Isso é quase perfeito, mas os arquivos compactados ainda têm a subpasta atual com arquivos. O resultado esperado seria ter apenas os arquivos no arquivo zip não a subpasta contendo os arquivos.

Qualquer ajuda apreciada. Obrigado

    
por tbone99 15.11.2015 / 16:28

1 resposta

1

Já existe algo melhor no manual do zip, que faz uso de find

man zip

Modificando um pouco, torna-se

find . -type f -exec zip source {} \;

Você pode usá-lo depois de um cd para a pasta desejada ou pode substituir o . por ele, como

find ~/Downloads/ -type f -exec zip source {} \;
    
por dadexix86 15.11.2015 / 16:52

Tags