Dosyaları sıkıştırırken bir dizini hariç tutma


11

Ben böyle bir şey yapan bir bash betiği var:

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

Yedeklediği dizin bir SVN arşividir (eskiden CVS idi). .Svn ve içeriğini hariç tutamadım. .Svn'yi (tüm ağaç boyunca yinelemeli olarak) hariç tutmanın en temiz yolu nedir?

Yanıtlar:


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

-x ayrıca bir hariç tutma listesini de kabul eder.

Alternatif olarak, hariç tuttuğunuz öğelerle birlikte bir filelist oluşturun ve bunları buraya ekleyin.
Exclude.lst:

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

komutuyla:

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

-x "*CVS*"adı CVSbir alt dize (ditto for .svn) olarak içeren herhangi bir dosya veya dizini hariç tutar .
Gilles 'SO- kötü olmayı bırak'

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

Gönderilen hariç tutma kalıplarınızın tam olarak doğru olmadığını, adlarını içeren herhangi bir dosyayı veya dizini hariç tuttuklarını unutmayın CVS.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.