if ($answer_counter == 1): ?>
endif; ?>
1. Descompacte todos os .zip
archives
find . -type f -name "*.zip" -exec unzip {} +
Explicações
-
find .
- procura no diretório atual
-
-type f
- arquivos
-
-name "*.zip"
- cujo nome corresponde a *.zip
(assim termina em .zip
),
-
-exec unzip {} +
- crie uma longa lista de todas as correspondências e execute unzip
2. Mova todos os arquivos dos níveis mais baixos para um nível abaixo do atual
for i in */; do find "$i" -type f -exec mv {} "$i" \; && rm -r "$i"*/; done
Explicações
-
for i in */; do …; done
- percorre todos os diretórios no nível atual
-
find "$i" -type f
- procura todos os arquivos no diretório atualmente processado e abaixo
-
-exec mv {} "$i" \;
- mova-os para o diretório atualmente processado
-
&&
faz o seguinte apenas se o comando anterior tiver terminado com sucesso
-
rm -r "$i"*/
- remove todos os subdiretórios no diretório atualmente processado