Preservando nome quando a granel descompacta arquivos?

0

Desculpe esta pergunta é trivial, mas não consegui fazê-la funcionar: Eu tenho uma pasta cheia de arquivos .zip, cada arquivo .zip contém exatamente um arquivo .xml. Os arquivos zip possuem nomes sensíveis como a.zip etc., enquanto o arquivo .xml contido neles tem algum "nome aleatório" .xml

Agora quero descompactar todos os arquivos .zip da pasta, preservando o nome dos arquivos .zip, para que a .zip seja descompactado em a . xml, b .zip em b .xml etc ...

Eu só consegui obter um lote descompactando com o comando:

for z in *.zip; do unzip "$z"; done Como faço para melhorar isso para manter os nomes?

    
por Elip 01.10.2012 / 16:55

1 resposta

0

Supondo que você não tenha nenhum arquivo .xml nesse diretório quando iniciar e cada .zip tenha exatamente um arquivo .xml , você poderá fazer isso.

for z in *.zip; do
   unzip $z
   mv *.xml 'echo $z | sed "s/\.zip$/.xml/"'
done
    
por 01.10.2012 / 17:34

Tags