De Como faço para descompactar arquivos ZIP aninhados? vem este one-liner:
while [ "'find . -type f -name '*.zip' | wc -l'" -gt 0 ]; do find -type f -name "*.zip" -exec unzip -- '{}' \; -exec rm -- '{}' \;; done
Isso remove todos os arquivos zip que foram feitos para evitar loops infinitos. Se você quiser conservar esses arquivos, primeiro faça um backup.