find Photos/ -name '*.rar' -execdir unrar e {} \;
Eu tenho vários arquivos RAR espalhados por vários diretórios, mas todos sob uma pasta raiz particular no meu NAS baseado em Debian. Alguém poderia me ajudar a escrever um script simples que entraria recursivamente em cada pasta, unrar o conteúdo, voltar para a pasta pai e ir para o próximo diretório? Então:
cd Photos/Summer/Italy/
unrar e Italy.rar
wait
cd ../France/
unrar e France.rar
wait
etc...
Então, basta apontar para a pasta raiz "Fotos" e passar o tempo todo por infravermelho ...
Por exemplo, estrutura de diretórios:
*Photos:
-Summer
--Italy
---Italy.rar
---Italy.r01
---Italy.r02
--France
---France.rar
---France.r01
---France.r02
-Winter
--Siberia
---Siberia.rar
---Siberia.r01
---Siberia.r02
--Canada
---Snow.rar
---Snow.r01
---Snow.r02
unrar
tem recursão incorporada usando a opção -r
Recurse subdirectories
.
unrar x -r <parent directory>
Extrai o conteúdo de todos os subdiretórios em <parent directory>
em cada subdiretório, mantendo qualquer estrutura de diretório existente nos arquivos .rar
. Use e
em vez de x
se a estrutura do diretório não for desejada.
Se você quiser mover as fotos não desejadas para outro destino, basta digitar o destino no final, assim:
find source_dir/ -name '*.rar' -execdir unrar e -o- {} /new/destination_dir/ \;
Tags rar nas shell-script script