Se você tiver um diretório com dezenas de arquivos zipados ou rardd, poderá executar um único comando para descompactá-los em uma única etapa, graças ao poder do shell bash.
Para essa tarefa, usaremos a estrutura de comando do bash para loop. Substituir com um nome de variável e
- com um comando que gera uma lista ou uma lista explícita.
for in
do command $; done
Você pode executá-lo em uma única linha com esta sintaxe:
for in
;do command $;done
Então, se você quiser unrar uma lista de arquivos, você pode usar este comando. Você não precisa necessariamente das aspas, mas ajuda quando os nomes dos arquivos têm espaços ou algo parecido neles.
for f in *.rar;do unrar e “$f”;done
Se você quisesse usar o 7zip para extrair uma lista de arquivos:
for f in *.001;do 7z e “$f”;done
Ou se você quiser descompactar uma lista de arquivos:
for f in *.zip;do unzip “$f”;done
Você poderia até encadear comandos juntos se quisesse. Por exemplo, se todos os seus arquivos zip continham arquivos.txt e você quisesse descompactá-los e então mover os arquivos descompactados para outro diretório:
for f in *.zip;do unzip “$f”;done; for f in *.txt;do mv “$f” /myfolder/;done
A concha bash é tão incrivelmente poderosa … isso nem toca na potência, mas deve dar uma boa ideia do que é possível.