使用 shell 删除 zip 文件中的 __MACOSX 目录

5 zip bash

我想删除 Mac 制作的 zip 文件中的 __MACOSX 目录。

配合zip foo.zip -qd "__MACOSX/*"效果很好。

然后我写了如下。 for file in "*.zip"; do zip $file -qd "__MACOSX/*"; done

但该脚本仅对目录中的第一个 zip 文件有效。

接下来我尝试使用“find”和“xargs”。但它根本不起作用。 find . -name "*.zip" -print0 | xargs -0 zip -qd "__MACOSX/*"

如何编写一个脚本来删除多个 zip 文件中的所有 __MACOSX 目录。

Kev*_*vin 5

您想要引用$file命令中的 ,而不是中的 glob for

for file in *.zip; do zip "$file" -qd "__MACOSX/*"; done
Run Code Online (Sandbox Code Playgroud)