Descompactar vários arquivos zipados e renomear arquivos automaticamente com o mesmo nome, se necessário

0

Eu tenho um monte de arquivos Ziped em uma pasta, e eu gostaria de descompactar tudo, renomear automaticamente pastas ou arquivos com o mesmo nome, exemplo:

Em ZIP_folder_1.zip e ZIP_folder_2.zip i tenho uma pasta chamada my_name , se eu descompactar tudo com o comando acima, a linha de comando perguntará se eu quero renomeá-lo, então, se eu tiver 3k pastas com o mesmo nome, eu vou enlouquecer.

Estou tentando usar:

find . -type f -name "*.zip" -exec unzip {} -d {}.contents/;

Mas estou vendo

find: missing argument to '-exec'

Outro ponto é: posso passar uma pasta de destino?

Obrigado !!!

Obrigado.

    
por FXux 17.03.2016 / 20:27

1 resposta

0

O argumento para -exec é tipicamente o material entre o -exec e o \;

Primeiro tento colocar um espaço entre o {}.contents e o \; , mas não testei para ver o que poderia estar acontecendo

para o seu outro ponto, é provavelmente mais fácil alterar o ponto de partida para find do que interferir na cláusula -exec . Sugiro algo como abaixo, lembrando que $OLDPWD é o diretório de trabalho antigo anterior ao último cd (pelo menos no bash, em tsch é $owd )

cd targetdirectory; find $OLDPWD -type f -name "*.zip" -exec unzip {} -d {}.contents /;

Você poderia embelezar adicionando um ; cd $OLDPWD no final para retornar ao seu ponto de partida se você quisesse

    
por 17.03.2016 / 23:08