Dans Cygwin 64bit, j'ai cette commande qui fait ce que je veux:
$ find -name "*.zip" | wc -l
90
J'essaie de passer le résultat pour décompresser, en utilisant la méthode de Trouvez toutes les zips et décompressez à la place - 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?
Appréciez une certaine sagesse dirigée vers ce petit problème.
Réponses:
1 pour la réponse № 1Vous obtiendrez un compte différent car en utilisant unzip -t
va tester l'extraction d'archive et listera chaque fichier à l'intérieur .zip
déposer ainsi vous obtiendrez beaucoup plus de sortie plutôt que juste le nom de .zip
des dossiers.
Vous avez probablement voulu dire cela find
commander:
find -name "*.zip" -execdir unzip "{}" ";" -print | wc -l
0 pour la réponse № 2
Après avoir lu un peu plus la documentation pour unzip, j'ai trouvé la deuxième commande parmi les 2 suivantes qui résoudrait mon problème initial:
find -name "*.zip" -execdir unzip -t "{}" ";" #every file in every zip
find -name "*.zip" -execdir unzip -tq "{}" ";" #one consolidated answer per zip