/ / Cygwin shell 'find' 'unzip' parece não ser filtrado para não ser passado para unzip - shell, unix, find

O shell do Cygwin 'find' 'unzip' parece não ser filtrado para não ser passado para unzip - shell, unix, find

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 № 1

Você 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