Cygwin shell'发现' '解压缩'似乎无法过滤掉线条而无法传递给解压缩

时间:2015-03-02 14:27:16

标签: shell unix find

在Cygwin 64bit中,我有这个命令可以完成我想要的操作:

$ find -name '*.zip' | wc -l
90

我尝试使用Find all zips, and unzip in 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?

欣赏一些针对这个小问题的智慧。

2 个答案:

答案 0 :(得分:1)

您将获得不同的计数,因为使用unzip -t将测试归档提取并将列出.zip文件中的每个文件,因此您将获得更多输出而不仅仅是名称{ {1}}个文件。

你可能意味着这个.zip命令:

find

答案 1 :(得分:0)

在阅读了更多解压缩文档之后,我发现以下2中的第二个命令可以解决我的初始问题:

find -name '*.zip' -execdir unzip -t '{}' ';'  #every file in every zip
find -name '*.zip' -execdir unzip -tq '{}' ';' #one consolidated answer per zip