Подкаталоги Zip на основе find, -exec

Вот что я хотел бы достичь: у меня есть несколько каталогов и подкаталогов в них (которые могут иметь суб-подкаталоги). В каждом подкаталоге я хочу получить zip-файл с содержимым этого конкретного каталога.

find nicely находит мои подкаталоги:

find . -mindepth 2 -maxdepth 2 -type d 

но я с трудом завершаю

 -exec zip ... \; 

Могли бы вы мне помочь? Я пробовал много комбинаций, не могу понять. 🙁

Для пояснения, вот дерево.

 ├── DIR1 │  ├── FILE1 | ├── FILE2 │  └── FILE3 ├── FILE4 ├── DIR2 │  ├── DIR3 │  │  ├── SUBDIR1 │  │  │  ├── SUBFILE1 │  │  │  ├── SUBSUBDIR1 │  │  │  │  ├── SUBSUBFILE1 │  │  │  │  └── SUBSUBFILE2 │  │  │  └── SUBSUBDIR1 │  │  │  ├── SUBSUBFILE3 │  │  │  └── SUBSUBFILE4 │  │  ├── FILE4 │  │  ├── FILE5 │  │  ├── FILE6 │  │  └── Zip file named DIR3.zip with FILE4, FILE5, FILE6 

One Solution collect form web for “Подкаталоги Zip на основе find, -exec”

Использование -execdir вместо -exec запускает команду из каталога find в настоящее время проходит, что делает эту проблему немного проще:

find . -mindepth 2 -maxdepth 2 -type d -execdir zip -r {}.zip {} ';'

Обратите внимание, что строка {} интерпретируется как find как текущее имя файла и относительна, когда используется -execdir .

  • Кодирование zip-файла
  • У вас возникли проблемы с распаковкой нескольких файлов
  • Почтовая папка без указания пути к папке и требует только один аргумент
  • проблема с zip-файлом с использованием пароля
  • Возможно ли интегрировать файлы zip и tar.gz в качестве каталога в файловую систему
  • Почему tar не может извлекать .zip-файлы?
  • Текст с круговым отключением через zip, unzip с ошибкой «лишних байтов» в OS X
  • Извлечение вложенных zip-файлов
  • Как я рекурсивно grep через сжатые архивы?
  • tar-эквивалент zip -o (-latest-time)?
  • Есть ли способ конвертировать zip в tar без извлечения его в файловую систему?
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.