Quando eu tento
unzip filename.zip
funciona. No entanto, preciso descompactar uma série de arquivos zip.
Por que são:
find . -name "*.zip" -print0 | xargs -0 unzip
ou
ls *.zip | xargs unzip
não está funcionando?
Nos dois casos, recebo a mensagem "cuidado: o nome do arquivo não corresponde:".
command-line
zip
jeannoburto
fonte
fonte
unzip *
e ele retornavacaution: filename not matched
para todos os arquivos, masunzip '*.zip'
fez o trabalho.Seus comandos não estão funcionando porque eles colocam todos os arquivos na mesma linha de comando. Embora isso funcione com a maioria dos programas,
unzip
o primeiro argumento será o arquivo zip, e o primeiro será o arquivo extraído. Você precisa executar o comando uma vez para cada arquivo:Ou
fonte
No bash, você também pode fazer o seguinte:
Também
unzip
pode usar a-d
opção para que você possa direcionar a saída para diferentes locais.Por exemplo:
fonte
Existe uma solução muito mais fácil do que as de loop fornecidas acima, use o
-d
sinalizador de diretório :fonte
-d
especifica o diretório para extrair, não o diretório para procurar arquivos.