Comment exclure des fichiers d'une archive Zip

Le moyen le plus simple d'exclure de nombreux fichiers spécifiques ou un groupe de fichiers correspondants d'une archive zip est de sauter l'utilitaire de zip facile intégré à l'interface utilisateur conviviale de Mac OS X et de passer à la ligne de commande, où réside la puissante commande zip.

C'est utile pour un million et une raison, mais la principale motivation de ce post concerne les fichiers .DS_Store qui sont regroupés avec les archives zip créées sur un Mac, pour ensuite encombrer une autre machine qui décompresse le fichier, que ce soit sur un autre Mac, un PC Windows ou linux. C'est ce qui se produit avec l'outil de compression convivial et l'utilitaire de compression en ligne de commande par défaut, et c'est parce que le comportement par défaut des outils de compression est d'inclure les fichiers cachés, qu'ils soient affichés ou non. Ce n'est pas nécessairement une mauvaise chose et dans de nombreux cas, cela serait considéré comme utile, mais si vous ne voulez pas qu'ils apparaissent dans vos archives, ou tout autre fichier d'ailleurs, lisez la suite.

Comment exclure des fichiers d'une archive Zip

Les bases de l'exclusion de fichiers lors de la création d'une archive zip sont centrées autour du drapeau -x, qui est utilisé pour exclure de l'archive les fichiers qui correspondent à un nom ou un modèle spécifique. Au niveau le plus basique, cela ressemblera à ceci :

archive zip.zip files -x "ExcludeMe"

Cela signifie que vous pouvez exclure un seul fichier, disons qu'il s'appelle "Nothanks.jpg"

zip archive.zip images/ -x "Nothanks.jpg"

Lire aussi :  Comment régler le mode par défaut de l'appareil photo sur l'iPhone

Couvrons quelques exemples spécifiques où cela est utile.

Exclure les fichiers .DS_Store des archives Zip

Cela permettra d'éviter que les fichiers de métadonnées .DS_Store, généralement invisibles sur Mac, ne soient inclus dans une archive zip, qui est regroupée par défaut :

zip -r nomd'archive.zip répertoire des archives -x "*.DS_Store"

Cependant, si le répertoire comprend des sous-répertoires, vous devrez utiliser une autre variante de cette commande pour exclure les fichiers ds_store des sous-répertoires également :

zip -r archive.zip directory -x "*/\.DS_Store"

Note : tous les shells ne nécessitent pas les guillemets pour que cette commande fonctionne correctement, mais dans le shell bash (par défaut pour Mac OS X), vous devrez utiliser les guillemets pour exclure avec des jokers et des motifs.

Exclure des types de fichiers spécifiques d'une archive Zip

Avec les jokers, vous pouvez également exclure tous les fichiers d'un certain type en vous concentrant sur l'extension. Par exemple, cette commande permet de zipper un répertoire entier, moins les fichiers .jpg :

zip -r archive.zip répertoire -x "*.jpg"

Il peut être modifié pour toute extension de fichier spécifique ou tout modèle correspondant à un nom de fichier.

Exclure le répertoire .git ou .svn d'une archive Zip

Zippez un répertoire, moins .git et son contenu:

zip -r zipdir.zip repertoiretozip -x "*.git*"

Zippez un dossier, sans inclure le répertoire .svn:

zip -r répertoire zip.zip -x "*.svn*"

Exclure tous les fichiers cachés d'une archive Zip

Comme les motifs et les jokers peuvent être utilisés, vous pouvez également exclure tout ou partie des fichiers et dossiers invisibles qui le sont en les faisant précéder d'un point, qu'il s'agisse d'un répertoire comme .svn ou d'un fichier individuel comme .bash_profile ou .htaccess.

Lire aussi :  Comment sauvegarder des jeux sur SNES Classic depuis n'importe où, n'importe quand

zip -r nomd'archive.zip répertoiretozip -x "*.*"

Ou pour exclure tous les fichiers invisibles de tous les sous-répertoires :

zip -r archive.zip répertoire -x "*/\.*"

Acclame un commentateur du Forums Iphonologie pour la syntaxe précise sur l'exclusion de ces fichiers des sous-répertoires également.

En fin de compte, c'est juste une raison de plus pour les utilisateurs de pouvoir de sauter sur le Terminal pour créer des archives. Avec des fonctions puissantes telles que la prise en charge des caractères génériques, l'exclusion et la protection optionnelle par mot de passe des fichiers zippés, il est tout simplement plus complet, et comme il est de toute façon inclus sur le Mac, vous n'aurez pas besoin de télécharger une autre application pour prendre en charge les fonctions avancées.

Et oui, techniquement, si vous étiez déterminé à rester dans l'interface utilisateur, vous pourriez utiliser les opérateurs de recherche Finder et Spotlight pour réduire le contenu d'un dossier dans Mac OS X avant de créer une archive, ou simplement sélectionner tout et cliquer manuellement sur chaque fichier à ne pas inclure, mais ce n'est vraiment pas efficace pour les grandes opérations d'archivage. Ainsi, le terminal gagne en facilité, et bien qu'il soit centré sur la ligne de commande, il n'est vraiment pas compliqué une fois que vous avez appris les bases.

Click to rate this post!
[Total: 0 Average: 0]

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *