如何递归解压缩与一组嵌套 ZIP 文件中的模式匹配的文件?

问题描述 投票:0回答:1

我有一堆 zip 文件,里面有几个级别的 zip 文件。

我只想提取与此模式匹配的文件:“_dnbr6.tif”,它们可以位于 zip/目录层次结构的不同级别。

一个额外的提示是,我要查找的文件位于名为“fire_bundle”的目录/zip 文件(zip 文件内)中。不同的 zip/目录中的大小写会发生变化。

如何在不提取每个嵌套 zip 文件的所有文件的情况下做到这一点?

我想这个想法是:

  • 迭代每个 zip 文件,列出其中的所有文件,如果我的文件模式匹配,则将其提取。

  • 如果没有,请匹配我的 zip 模式 (fire_bundle) 并仅提取该 zip 文件并递归查找我的文件模式(列出该 zip 内的文件等)

我仍然不知道如何进行递归部分,因此我们将不胜感激。

linux bash shell zip unzip
1个回答
0
投票

来自

unzip
手册页:

文件] 要处理的存档成员的可选列表,以空格分隔。 (使用定义的 VMSCLI 编译的 VMS 版本必须用逗号分隔文件。请参阅下面选项中的 -v。)正则表达式(通配符)可用于匹配多个成员;往上看。再次强调,一定要引用否则会被操作系统扩展或修改的表达式。

所以,你可以使用通配符,只要你转义它们即可。

© www.soinside.com 2019 - 2024. All rights reserved.