web-dev-qa-db-fra.com

Comment puis-je créer un fichier Zip d'un répertoire sauf un dossier spécifique?

Voici ma commande actuelle:

Zip -r compressed_filename.Zip path/foldername

Mais il y a beaucoup d'images dans un dossier nommé img dans là path/foldername. Je souhaite donc créer un fichier Zip du répertoire path/foldername à l'exception du dossier img qui s'y trouve.

Comment puis je faire ça?

3
stack

La commande Zip comporte un indicateur --exclude (ou -x) pour exclure certains fichiers:

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

Ajustez les chemins si nécessaire.


Vous pouvez également utiliser la commande find pour répertorier tous les fichiers à inclure et les transmettre à la commande Zip.

find path/foldername -name 'img' -Prune -o -exec Zip compressed_filename.Zip {} +

Ceci recherchera le path/foldername pour tous les fichiers (et dossiers). S'il trouve img, il arrête de le traiter (-Prune). Tous les autres éléments (-o) trouvés seront (ensemble, à cause de + à la fin) passés à l'invocation Zip.

4
Melebius