В Cygwin 64bit имам тази команда, която прави това, което искам:
$ find -name "*.zip" | wc -l
90
Опитвам се да предам резултата за разкомплектоване, използвайки метода от Намерете всички ципове и разархивирайте на място - 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?
Оценявайте мъдростта, насочена към този малък проблем.
Отговори:
1 за отговор № 1Вие ще получите различен брой, защото използвате unzip -t
ще тества архивния извличане и ще изброи всеки файл вътре .zip
файл, така че ще получите много повече продукция, а не само името на .zip
файлове.
Вероятно означавахте това find
команда:
find -name "*.zip" -execdir unzip "{}" ";" -print | wc -l
0 за отговор № 2
След като прочетох още документацията за разкомпресиране, намерих втората команда в следващите 2, която щеше да реши моя първоначален проблем:
find -name "*.zip" -execdir unzip -t "{}" ";" #every file in every zip
find -name "*.zip" -execdir unzip -tq "{}" ";" #one consolidated answer per zip