oad*_*ams 16 scripting zip files
我有许多 zip 档案,每个档案都包含许多 zip 档案。递归提取此 zip 存档及其子 zip 存档中包含的所有文件(这些文件本身不是 zip 存档)的最佳方法是什么?
Sha*_*off 14
这会将所有 zip 文件解压缩到当前目录中,不包括其中包含的任何 zip 文件。
find . -type f -name '*.zip' -exec unzip -- '{}' -x '*.zip' \;
Run Code Online (Sandbox Code Playgroud)
尽管这会将内容提取到当前目录,但并非所有文件都严格地位于此目录中,因为内容可能包含子目录。
如果你真的想要当前目录中的所有文件,你可以运行
find . -type f -mindepth 2 -exec mv -- '{}' . \;
Run Code Online (Sandbox Code Playgroud)
注意:如果在不同目录中有两个同名的文件,这将破坏文件。
如果要递归提取所有 zip 文件和其中包含的 zip,以下将提取当前目录中的所有 zip 文件以及其中包含的所有 zip 到当前目录。
while [ "`find . -type f -name '*.zip' | wc -l`" -gt 0 ]
do
find . -type f -name "*.zip" -exec unzip -- '{}' \; -exec rm -- '{}' \;
done
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
33305 次 |
最近记录: |