Z wyłączeniem katalogu podczas kompresowania plików


11

Mam skrypt bash, który robi coś takiego:

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

Katalog, którego kopię zapasową utworzono, to archiwum SVN (kiedyś był to CVS). Nie udało mi się go wykluczyć .svn i jego zawartości. Jaki jest najczystszy sposób na wykluczenie pliku .svn (rekurencyjnie przez całe drzewo)?

Odpowiedzi:


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

-x akceptuje również listę wykluczeń.

Możesz też utworzyć listę plików ze swoimi wykluczeniami i dodać je tam.
The exclude.lst:

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

z poleceniem:

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

-x "*CVS*"wyklucza każdy plik lub katalog, którego nazwa zawiera CVSjako podciąg (to samo dotyczy .svn).
Gilles „SO- przestań być zły”

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

Pamiętaj, że opublikowane wzorce wykluczania nie są całkiem poprawne, wykluczają każdy plik lub katalog, którego nazwa zawiera CVS .

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.