распаковать вложенные .zip-файлы по сценарию оболочки

Я загружаю zip-файл с очень глубокой вложенной структурой, из которой мне просто нужно выбрать несколько файлов. Структура файла выглядит следующим образом:

myfile.zip/ C*_01.zip, ....., C*_xx.zip/ 

В каждом файле C * _xx.zip:

 a*.zip b*.zip ..../ file1.txt file2.txt ... targetfile.txt ... 

Обратите внимание, что на каждом «C * .zip» мне нужно выбрать целевой файл.

У меня нет большого опыта работы с командами оболочки, поэтому я написал сценарий на основе других решений, но он не работает. Я был бы признателен за любой намек:

 wget url | find . -name "myfile.zip" | while ["`find -type f -name 'C*.zip' | wc -l`" -gt 0 ]; do find -type f -name "b.zip" | find -type f -name "targetfile.txt" exec unzip -- '{}' \;; done 

Создайте файл сценария, например fetchtarget.sh и запустите его с URL-адресом в качестве первого аргумента.

 #!/bin/sh dir=$(mktemp -d) cd $dir || exit wget $1 # deep unzip loop while true; do find -iname '*.zip' > zipindex test -s zipindex || break for zip in $(cat zipindex); do unzip -o $zip && rm $zip; done done # purge and show result find $dir -name targetfile.txt -print -or -type f -exec rm {} \;