У меня есть папка 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
Можно использовать эту команду, она рекурсивно разархивирует все файлы в текущем каталоге.
Примечание Это удалит исходные заархивированные файлы, но Если Вы хотите оставить исходные файлы, удалить -exec rm -- '{}' \;
код.
Команда:
while [ "`find . -type f -name '*.zip' | wc -l`" -gt 0 ]; do find -type f -name "*.zip" -exec unzip -- '{}' \; -exec rm -- '{}' \;; done
Самым простым путем я могу вообразить, должен извлечь zip, затем извлечь то, что было внутри.
Говорят, в ExampleFolder
Вы имели Example-A.zip
. Просто извлеките .zip
с из Example-A.zip
(по-видимому, в папку, названную Example-A-Folder
), затем извлеките каждого из них один за другим. Это может быть неприятно в случаях, куда сжатие его рекурсивно (в Windows, что-то как Example.zip.zip.zip
неожиданно возникло бы) приводит к сжатой папке в другой внутренней части другого, и т.д.