Cygwin shell 'find' 'unzip' 似乎无法过滤掉无法传递给解压缩的行
Cygwin shell 'find' 'unzip' can't seem to get filtered off lines to not get passed to unzip
在 Cygwin 64 位中,我有这个命令可以执行我想要的操作:
$ 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?
感谢针对这个小问题的一些智慧。
您将得到不同的计数,因为使用 unzip -t
将测试存档提取并将列出 .zip
文件中的每个文件,因此您将获得更多的输出而不仅仅是名称.zip
个文件。
您可能是指这个 find
命令:
find -name '*.zip' -execdir unzip '{}' ';' -print | wc -l
在阅读了更多有关解压缩的文档后,我发现了以下 2 中的第二个命令可以解决我最初的问题:
find -name '*.zip' -execdir unzip -t '{}' ';' #every file in every zip
find -name '*.zip' -execdir unzip -tq '{}' ';' #one consolidated answer per zip
在 Cygwin 64 位中,我有这个命令可以执行我想要的操作:
$ 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?
感谢针对这个小问题的一些智慧。
您将得到不同的计数,因为使用 unzip -t
将测试存档提取并将列出 .zip
文件中的每个文件,因此您将获得更多的输出而不仅仅是名称.zip
个文件。
您可能是指这个 find
命令:
find -name '*.zip' -execdir unzip '{}' ';' -print | wc -l
在阅读了更多有关解压缩的文档后,我发现了以下 2 中的第二个命令可以解决我最初的问题:
find -name '*.zip' -execdir unzip -t '{}' ';' #every file in every zip
find -name '*.zip' -execdir unzip -tq '{}' ';' #one consolidated answer per zip