como extrair vários arquivos zipados e rar recursivamente?

2

Eu tenho uma pasta ExampleFolder que contém muitas pastas compactadas. Essas pastas compactadas também contêm várias pastas compactadas. Como passar por ExampleFolder e extrair todas as suas pastas compactadas recursivamente?

Observe que ExampleFolder em si, não está compactado, é apenas uma pasta normal

Ok, agora eu sei o que está acontecendo. As respostas de Rinzwind e nux estão corretas (exceto que eu tenho que continuar pressionando Y ou A para sempre)

Mas parece que alguns dos arquivos zipados, arquivos zipados e arquivos rar também, os arquivos rar não serão extraídos por

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

ou qualquer outra coisa

Editar 2 Alguns arquivos são denominados .r00 e r01 ,. r02 até r14, eles são rar arquivos, mas não .rar

    
por Lynob 25.05.2014 / 12:02

2 respostas

1

Você pode usar este comando, ele irá descompactar recursivamente todos os arquivos em seu diretório atual.

Observação Isso excluirá os arquivos zipados originais, mas se você quiser deixar os arquivos originais, exclua -exec rm -- '{}' \; code.

Comando:

while [ "'find . -type f -name '*.zip' | wc -l'" -gt 0 ]; do find -type f -name "*.zip" -exec unzip -- '{}' \; -exec rm -- '{}' \;; done 
    
por nux 25.05.2014 / 20:38
0

A maneira mais simples que posso imaginar é extrair o zip e depois extrair o que estava dentro.

Diga, em ExampleFolder você teve Example-A.zip . Apenas extraia o .zip s de Example-A.zip (presumivelmente para uma pasta chamada Example-A-Folder ) e, em seguida, extraia cada um deles um a um. Isso pode ser problemático em casos em que compactá-lo recursivamente (no Windows, algo como Example.zip.zip.zip apareceria) leva a uma pasta compactada dentro de outra dentro de outra, etc.

    
por Andrew Stewart 25.05.2014 / 20:33