No Cygwin 64bit eu tenho este comando que faz o que eu quero:
$ find -name "*.zip" | wc -l
90
Eu tento passar o resultado para descompactar, usando o método de Encontre todos os zips e descompacte no lugar - Unix:
$ find -name "*.zip" -execdir unzip -t "{}" ";" | wc -l
...random paths with the error continuing from "central" filename version...
17605 #?!?, why not 90 like before?
Aprecie alguma sabedoria dirigida para este pequeno problema.
Respostas:
1 para resposta № 1Você receberá uma contagem diferente porque usar unzip -t
irá testar a extração do arquivo e irá listar cada arquivo dentro .zip
arquivo, assim, você estará recebendo muito mais saída, em vez de apenas o nome de .zip
arquivos.
Você provavelmente quis dizer isso find
comando:
find -name "*.zip" -execdir unzip "{}" ";" -print | wc -l
0 para resposta № 2
Depois de ler um pouco mais a documentação para descompactar, encontrei o segundo comando nos 2 seguintes que resolveria o meu problema inicial:
find -name "*.zip" -execdir unzip -t "{}" ";" #every file in every zip
find -name "*.zip" -execdir unzip -tq "{}" ";" #one consolidated answer per zip