我有一个包含zip文件的完整目录结构.我想要:
>遍历整个目录结构,递归获取所有zip文件
>我想在其中一个zip文件中找到特定文件“* myLostFile.ext”.
我试过了什么
1.我知道我可以很容易地递归列出文件:
find myLostfile -type f
2.我知道我可以在zip档案中列出文件:
unzip -ls myfilename.zip
如何在zip文件的目录结构中找到特定文件?
解决方法
您可以使用for循环方法省略使用find进行单级(或使用globstar的bash 4递归)搜索.zip文件:
for i in *.zip; do grep -iq "mylostfile" < <( unzip -l $i ) && echo $i; done
在bash 4中进行递归搜索:
shopt -s globstar for i in **/*.zip; do grep -iq "mylostfile" < <( unzip -l $i ) && echo $i; done