Виключення каталогу під час копіювання файлів


11

У мене є сценарій bash, який робить щось подібне:

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

Каталог, який він створює, - це SVN-архів (раніше він був CVS). Я не зміг змусити його виключити .svn і його вміст. Який найчистіший спосіб виключити .svn (рекурсивно через усе дерево)?

Відповіді:


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

-x також приймає список виключень.

Крім того, створіть список файлів із виключеннями та додайте їх туди.
Виключити.lst:

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

з командою:

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

-x "*CVS*"виключає будь-який файл або каталог, ім'я якого міститься CVSу якості підрядка (ditto for .svn).
Жил "ТАК - перестань бути злим"

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

Зауважте, що ваші шаблони виключення як розміщені не зовсім правильні, вони виключають будь-який файл чи каталог, ім'я яких міститься CVS .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.