как извлечь несколько заархивированных и rar файлов рекурсивно?

У меня есть папка ExampleFolder который содержит много заархивированных папок. Эти заархивированные папки также содержат несколько заархивированных папок. Как пройти ExampleFolder и извлеките все его заархивированные папки рекурсивно?

Отметьте это ExampleFolder самостоятельно, не заархивирован, это - просто нормальная папка

Хорошо теперь я знаю то, что происходит, Rinzwind и ответы nux оба корректны (за исключением того, что я должен продолжать нажатие Y или навсегда),

Но это, кажется, что некоторые заархивированные файлы, содержал заархивированные файлы и rar файлы также, rar файлы не будут извлечены

while [ "`find . -type f -name '*.zip' | wc -l`" -gt 0 ]; do find -type f -name "*.zip" -exec unzip -- '{}' \; -exec rm -- '{}' \;; done 

или безотносительно

Отредактируйте 2, Некоторые файлы называют .r00 и r01, .r02 до r14 они rar файлы, но нет .rar

2
задан 25 May 2014 в 23:08

2 ответа

Можно использовать эту команду, она рекурсивно разархивирует все файлы в текущем каталоге.

Примечание Это удалит исходные заархивированные файлы, но Если Вы хотите оставить исходные файлы, удалить -exec rm -- '{}' \; код.

Команда:

while [ "`find . -type f -name '*.zip' | wc -l`" -gt 0 ]; do find -type f -name "*.zip" -exec unzip -- '{}' \; -exec rm -- '{}' \;; done 
1
ответ дан 7 October 2019 в 18:58

Самым простым путем я могу вообразить, должен извлечь zip, затем извлечь то, что было внутри.

Говорят, в ExampleFolder Вы имели Example-A.zip. Просто извлеките .zip с из Example-A.zip (по-видимому, в папку, названную Example-A-Folder), затем извлеките каждого из них один за другим. Это может быть неприятно в случаях, куда сжатие его рекурсивно (в Windows, что-то как Example.zip.zip.zip неожиданно возникло бы) приводит к сжатой папке в другой внутренней части другого, и т.д.

0
ответ дан 7 October 2019 в 18:58

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

Похожие вопросы: