Como posso criar um arquivo zip de um diretório, exceto uma pasta específica dele? [duplicado]

2

Aqui está o meu comando atual:

zip -r compressed_filename.zip path/foldername

Mas há muitas imagens em uma pasta chamada img , em que há path/foldername . Então eu quero fazer um arquivo zip do diretório path/foldername exceto a pasta img que está dentro dele.

Como posso fazer isso?

    
por stack 28.02.2017 / 12:39

1 resposta

3

O comando zip tem um sinal --exclude (ou -x ) para excluir alguns arquivos :

zip -r --exclude 'img/' compressed_filename.zip path/foldername

Ajuste os caminhos, se necessário.

Você também pode usar o comando find para listar todos os arquivos a serem incluídos e passá-los para o comando zip .

find path/foldername -name 'img' -prune -o -exec zip compressed_filename.zip {} +

Isso pesquisará o path/foldername de todos os arquivos (e pastas). Se encontrar img , ele parará de processá-lo ( -prune ). Todos os outros itens encontrados ( -o ) serão (juntos, por causa de + no final) passados para a invocação zip .

    
por Melebius 28.02.2017 / 12:45