ファイルを圧縮するときにディレクトリを除外する


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 除外リストも受け入れます。

または、除外するファイルリストを作成し、そこに追加します。
exclude.lst:

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

コマンドで:

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

-x "*CVS*"名前にCVS部分文字列として含まれているファイルまたはディレクトリを除外します(同上.svn)。
Gilles「SO-邪悪なことをやめ

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

投稿された除外パターンは正しくないことに注意してください。名前にが含まれる ファイルまたはディレクトリは除外されますCVS

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.