Как исключить каталог при копировании файлов

Я пытаюсь исключить определенный каталог при создании архива с помощью zip . Вот что я пробовал:

 $ zip home.zip -y -r HOME -x '/AppData' -x '/AppData*' -x '/AppData/*' -x 'AppData' -x 'AppData*' -x 'AppData/*' 

Производит:

  adding: HOME/ (stored 0%) adding: HOME/AppData/ (stored 0%) adding: HOME/AppData/a (deflated 39%) adding: HOME/AppData/LocalLow/ (stored 0%) adding: HOME/AppData/LocalLow/Sun/ (stored 0%) adding: HOME/AppData/LocalLow/Sun/Java/ (stored 0%) adding: HOME/AppData/LocalLow/Sun/Java/a (deflated 39%) adding: HOME/AppData/LocalLow/Sun/Java/Deployment/ (stored 0%) adding: HOME/AppData/LocalLow/Sun/Java/Deployment/a (deflated 39%) 

Дерево моего каталога выглядит так:

 ./HOME ./HOME/AppData ./HOME/AppData/a ./HOME/AppData/LocalLow ./HOME/AppData/LocalLow/Sun ./HOME/AppData/LocalLow/Sun/Java ./HOME/AppData/LocalLow/Sun/Java/a ./HOME/AppData/LocalLow/Sun/Java/Deployment ./HOME/AppData/LocalLow/Sun/Java/Deployment/a 

Поэтому, похоже, я игнорирую мои опции -x .

Каков правильный синтаксис для опции -x ?

Нашел этот пост, но, как вы можете видеть выше, это не решило мою проблему.

Я использую Info-ZIP 3.0 на Cygwin 1.7.35 в Windows 7.

2 Solutions collect form web for “Как исключить каталог при копировании файлов”

Попробуйте положить его как -x '*AppData/*'

Похоже, что путь, в котором сопоставляется zip , включает в себя корневой элемент пути, который вы ему даете, если только не root .

В моем случае, если бы я хотел исключить что-либо в LocalLow , мне нужно было:

 $ zip home.zip -y -r HOME -x 'HOME/AppData/LocalLow/*' 

Уступая:

  adding: HOME/ (stored 0%) adding: HOME/AppData/ (stored 0%) adding: HOME/AppData/a (deflated 39%) 

Если вы используете cd в каталоге HOME и используете его . в качестве корня вам не нужно указывать корневой элемент в пути исключения:

 $ cd HOME $ zip home.zip -y -r . -x 'AppData/LocalLow/*' adding: AppData/ (stored 0%) adding: AppData/a (deflated 39%) 
  • Распакуйте все файлы в директории с тем же именем
  • Bash, чтобы получить результат передачи rsync и закрепить его как каталог в исходном каталоге
  • Подмена текста внутри сжатых файлов
  • Команда для рекурсивного хеширования CRC (CRC32)
  • Bash: Zipping / группировка файлов по общей подстроке
  • Как распаковать каталог внутри zip-файла
  • Почему `zip` в цикле for работает, когда файл существует, но не тогда, когда он этого не делает?
  • поиск содержимого файлов, упакованных в zip-файл
  • разархивируйте два разных типа расширений файлов
  • Извлечение содержимого zip-файла с помощью перезаписи всего режима в CentOS 5
  • Возможно ли в unix выполнять поиск внутри zip-файлов
  • Linux и Unix - лучшая ОС в мире.