/ / Cygwin shell 'find' 'unzip' не изглежда да се филтрира от линии, за да не се предаде за unzip - shell, unix, намери

Cygwin shell 'find' 'unzip' не изглежда да се филтрира от линии, за да не се предаде за unzip - shell, unix, find

В 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