как распаковать много zip-файлов, найденных во многих подкаталогах, все в определенном другом каталоге

246
vipoxou

у меня есть список zip-файлов, каждый из которых содержит также некоторые другие zip-файлы и так далее. Мне нужно извлечь их все с помощью команды оболочки ubuntu и получить только файлы с расширением * .pdf в новый пустой каталог.

Вот где мне удалось прийти, я попытался распаковать -l "* .zip"

0

1 ответ на вопрос

2
harrymc

Из Как мне распаковать вложенные ZIP-файлы? приходит этот однострочник:

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

Это удаляет все zip-файлы, которые были сделаны, чтобы избежать бесконечных циклов. Если вы хотите сохранить эти файлы, сначала сделайте резервную копию.

но как сохранить только файлы с расширением .pdf? vipoxou 5 лет назад 0
Вышеизложенное извлекает все файлы. Чтобы извлечь только zip и pdf, замените команду `-exec unzip - '{}'` двумя командами `-exec unzip - '{}'" * .zip "\; -exec unzip - '{}' "* .pdf`. harrymc 5 лет назад 1