Extrair vários arquivos .rar em uma pasta com shell script [RESOLVIDO]

1. Extrair vários arquivos .rar em uma pasta com shell script [RESOLVIDO]

George Matheus Santos de Oliveira
Theeus7

(usa Ubuntu)

Enviado em 29/12/2016 - 15:59h

Olá, boa tarde
Estou começando com o linux e ainda não muitas coisas, queria saber se alguém podia me ajudar com uma duvida.
Tenho uma pasta com muitos arquivos compactados em .rar, e extrair eles um por um demoraria um pouco, porque são quase 500 arquivos, queria saber se posso criar um script que descompacta todos esses arquivos e os coloque em uma pasta definida por mim.
Desde de já, agradeço.


  


2. MELHOR RESPOSTA

Perfil removido
removido

(usa Nenhuma)

Enviado em 29/12/2016 - 16:14h

for i in *.rar; do unrar e $i; done

Um comando parecido com este acima faz o que você quer; você precisa apenas ter o pacote "unrar" instalado (responsável pelo suporte a extração de arquivos .RAR no Linux);

O comando acima extrairá todos os arquivos .RAR do diretório atual no próprio diretório atual; para modificar o diretório de destino basta apenas estar no diretório desejado na hora de executar o comando e colocar o diretório completo (dos arquivos) antes do "*" no laço for; para outros parâmetros de sua preferência basta apenas um unrar --help para ver as opções; o resto do comando (do laço for) permanece igual.


Como última nota, aconselho também a criar uma cópia desta pasta (com os quase 500 arquivos .RAR) antes de testar os comandos, para que caso algo inesperado e/ou indesejável aconteça, ainda terá seus arquivos originais (apesar de estar apenas mexendo com extração).

3. Re: Extrair vários arquivos .rar em uma pasta com shell script [RESOLVIDO]

thinomar
thinomar

(usa Linux Mint)

Enviado em 29/12/2016 - 16:10h

No Linux costumamos usar outros formatos para compactação de arquivos, entre eles o tar, gz, etc.

Para descompactar arquivos RAR é necessário utilizar algum software específico, como o unrar:
apt-get install unrar
cd /caminho/do/arquivo/
unrar arquivo.rar



4. Re: Extrair vários arquivos .rar em uma pasta com shell script [RESOLVIDO]

George Matheus Santos de Oliveira
Theeus7

(usa Ubuntu)

Enviado em 29/12/2016 - 16:14h

Eu instalei essa ferramenta, mas dessa forma teria que descompactar um por um, o que estou interessado em saber e se consigo com algum script descompacte todos os meus arquivos de uma vez.


5. Re: Extrair vários arquivos .rar em uma pasta com shell script [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 29/12/2016 - 16:14h

Theeus7 escreveu:

Olá, boa tarde
Estou começando com o linux e ainda não muitas coisas, queria saber se alguém podia me ajudar com uma duvida.
Tenho uma pasta com muitos arquivos compactados em .rar, e extrair eles um por um demoraria um pouco, porque são quase 500 arquivos, queria saber se posso criar um script que descompacta todos esses arquivos e os coloque em uma pasta definida por mim.
Desde de já, agradeço.



Boa tarde Teeus.
Sim, é possível automatizar a descompactação...
Sugestão:
DIR_ORIG="DEFINA"
DIR_DEST="DEFINA"
for ARQ in $(ls -1 $DIR_ORIG/*.rar );do
COMANDO PARA DESCOMPACTAR $DIR_ORIG/$ARQ
done


Marcelo Oliver



6. Re: Extrair vários arquivos .rar em uma pasta com shell script [RESOLVIDO]

George Matheus Santos de Oliveira
Theeus7

(usa Ubuntu)

Enviado em 29/12/2016 - 16:31h

Muito Obrigado Gente, conseguir o que eu queria com a resposta do unnslacker, criei o seguinte script:
#!/bin/bash

for i in *.rar; do unrar e $i; done

Rodei ele dentro da pasta que queria, e extraiu todos os arquivos automaticamente dentro daquela pasta.


7. Re: Extrair vários arquivos .rar em uma pasta com shell script [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 29/12/2016 - 16:34h

Theeus7 escreveu:

Muito Obrigado Gente, conseguir o que eu queria com a resposta do unnslacker, criei o seguinte script:
#!/bin/bash

for i in *.rar; do unrar e $i; done

Rodei ele dentro da pasta que queria, e extraiu todos os arquivos automaticamente dentro daquela pasta.


Obrigado pela melhor resposta, mas com o comando que passei nem precisaria criar script! era só executar o for direto no terminal;

Se quisesse, supomos, extrair os arquivos para a pasta ~/RAR (uma pasta chamada "RAR" dentro da sua /home), era só você primeiro ir até essa pasta ($ cd ~/RAR) e, em seguida, rodar o comando ($ for i in /diretorio/dos/arquivos/*.rar; do unrar e $i; done)






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts