Exclure un répertoire lors du zippage de fichiers


11

J'ai un script bash qui fait quelque chose comme ceci:

zip -0 ../backup/backup.zip \
-r ./* \
-x \*CVS\* \
-x *Thumbs.db* \

Le répertoire qu'il sauvegarde est une archive SVN (c'était CVS à l'époque). Je n'ai pas pu l'obtenir pour exclure .svn et son contenu. Quelle est la manière la plus propre d'exclure .svn (récursivement à travers l'arborescence entière)?

Réponses:


8
zip -0 ../backup/backup.zip -r . -x "*CVS*" "*Thumbs.db*" "*.svn*"

-x accepte également une liste d'exclusions.

Sinon, créez une liste de fichiers avec vos exclusions et ajoutez-les là.
Le exclude.lst:

*CVS*
*Thumbs.db*
*.svn*
exclude.lst

avec la commande:

zip -0 ../backup/backup.zip -r . -x@exclude.lst

-x "*CVS*"exclut tout fichier ou répertoire dont le nom contient CVScomme sous-chaîne (idem pour .svn).
Gilles 'SO- arrête d'être méchant'

2
zip ../backup/backup.zip \
  -x '/CVS/*' -x '*/CVS/*' \
  -x '/.svn/*' -x '*/.svn/*' \
  -x '/Thumbs.db' -x '*/Thumbs.db' \
  -r .

Notez que vos modèles d'exclusion tels que publiés ne sont pas tout à fait corrects, ils excluent tout fichier ou répertoire dont le nom contient CVS .

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.