zip, чтобы исключить все папки.svn

Пытаясь исключить все папки.svn в заархивированных подпапках

zip -urq bebe.zip * -x .svn

не работает...

2 ответа

Решение

Кажется, что -x работает с именами файлов, а не с каталогами. Я не совсем понимаю, как работает эта опция.

Но у меня есть решение для вашего вопроса:

find . -type d -name .svn -prune -o -print | zip -uq bebe.zip -@

find команда исключает все каталоги с именем.svn (-type d -name .svn -prune) и перечисляет все другие файлы и папки (-o -print). Список передается в zip через канал (-@ опция чтения списка файлов при стандартном вводе).

Если вы не хотите включать каталоги только с обычными файлами, вы можете использовать -o -type f -print вместо.

Пытаться zip -urq bebe.zip * -x '*/.svn'

Другие вопросы по тегам