Excluir un directorio al comprimir archivos

11

Tengo un script bash que hace algo como esto:

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

El directorio que está respaldando es un archivo SVN (solía ser CVS en el día). No he podido hacer que excluya .svn y sus contenidos. ¿Cuál es la forma más limpia de excluir .svn (recursivamente a través de todo el árbol)?

meneo
fuente

Respuestas:

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

-x También acepta una lista de excluye.

Alternativamente, cree una lista de archivos con sus exclusiones y agréguelas allí.
El exclude.lst:

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

con el comando:

zip -0 ../backup/backup.zip -r . -x@exclude.lst
meneo
fuente
-x "*CVS*"excluye cualquier archivo o directorio cuyo nombre contenga CVScomo una subcadena (lo mismo para .svn).
Gilles 'SO- deja de ser malvado'
2
zip ../backup/backup.zip \
  -x '/CVS/*' -x '*/CVS/*' \
  -x '/.svn/*' -x '*/.svn/*' \
  -x '/Thumbs.db' -x '*/Thumbs.db' \
  -r .

Tenga en cuenta que sus patrones de exclusión como publicados no son del todo correctos, excluyen cualquier archivo o directorio cuyo nombre contenga CVS .

Gilles 'SO- deja de ser malvado'
fuente