我有一个任务,要找到一长排嵌套 Zip 档案中的最后一个文件。它们如下:
3301.zip
|
3300.zip
|
3299.zip
|
...
|
1.zip
基本上,我必须从另一个档案中提取一个档案 3300 次才能到达其中的文件1.zip
。
我搜索过各种方法,但可能我的搜索词不正确,或者我遗漏了某些内容。我尝试过“到达最后一个文件嵌套 zip”、“提取嵌套 zip”。我的工作环境是 Linux,我尝试过几个终端命令。但都没有达到我想要的效果。
答案1
您可以使用以下命令递归地提取所有 zip 文件(直到到达最后一个文件)while
:
while [ "`find . -type f -name '*.zip' | wc -l`" -gt 0 ]; do find -type f -name "*.zip" -exec unzip -- '{}' \; -exec rm -- '{}' \;; done
它会反复运行,在此目录中查找 zip 文件,如果找到则提取 zip 文件,同时删除父 zip 文件。它会反复执行此操作,直到对最后一个 zip 文件 (1.zip) 执行此操作并且找不到其他 zip 文件为止。