Descompacte todos os arquivos em diretórios com o mesmo nome

0

Ubuntu 16.04

Eu tenho um diretório com zip arquivos como este:

directory
|
|---zip1.zip
|---zip2.zip
|
...
|---zip_very_large_number.zip

Agora, tenho outro diretório /home/usrname/anotherdir . Existe uma maneira de descompactar todos os arquivos no /home/usrname/anotherdir da seguinte maneira:

/home/usrname/anotherdir
|---zip1(directory)
|    |---_FILES_FROM_zip1.zip
|
|---zip2(directory)
|    |---_FILES_FROM_zip2.zip
|
|---zip3(directory)
|    |---_FILES_FROM_zip3.zip
|
...
|
|---zip_very_large_number(directory)
     |---_FILES_FROM_zip_very_large_number.zip

Existe uma maneira concisa de fazer isso com unzip ? Eu poderia escrever um script de shell, mas não parece muito bem ...

    
por St.Antario 07.11.2016 / 18:19

1 resposta

3

Não há uma maneira curta de fazer isso com unzip , pois ele aceita apenas um arquivo zip para a descompactação de cada vez. Considere algum tipo de loop de shell como:

for d in *.zip
do
  dir=/home/usrname/anotherdir/zip${d%%.zip}
  unzip -d "$dir" "$d"
done
    
por 07.11.2016 / 18:56