Escludere una directory durante la compressione dei file


11

Ho uno script bash che fa qualcosa del genere:

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

La directory di cui si sta eseguendo il backup è un archivio SVN (in passato era CVS nel corso della giornata). Non sono riuscito a convincerlo a escludere .svn ed i suoi contenuti. Qual è il modo più pulito per escludere .svn (ricorsivamente attraverso l'intero albero)?

Risposte:


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

-x accetta anche un elenco di esclusi.

In alternativa, crea un elenco di file con i tuoi esclusi e aggiungili lì.
Il exclude.lst:

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

con il comando:

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

-x "*CVS*"esclude qualsiasi file o directory il cui nome contiene CVScome sottostringa (idem per .svn).
Gilles 'SO- smetti di essere malvagio' il

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

Nota che i tuoi schemi di esclusione pubblicati non sono corretti, escludono qualsiasi file o directory il cui nome contenga CVS .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.