在 .zip 文件中查找和删除目录

Jea*_*uel 5 zip

问题 1:在许多 .zip 存档文件中,我想删除符合名称模式的目录。在我使用的“普通”目录中:

find . -type d -name "pattern" -mtime +30| xargs rm -r
Run Code Online (Sandbox Code Playgroud)

是否可以在不解压缩 .zip 文件的情况下查找/删除这些目录?

如果我必须解压缩,我必须在删除这些文件后再次压缩它们,我想避免这种情况。

我看到了一些建议挂载 .zip 文件以使用 shell 命令的主题。它也适用于我吗?(我对 Unix 世界很陌生)。

问题 2:我确实像马克所说的那样将所有内容都放在一个循环中。它工作正常,但没有要求我在终端中为每个已删除的文件/文件夹提供任何内容:“删除:blabla.txt”。如何在日志文件中获取这些行?只需在命令行后添加 >> ${logFile} 就足够了?

l0b*_*0b0 6

正如@MarkPlotnick 指出的那样,您可以使用 glob 模式。来自man zip

zip -d foo foo/tom/junk foo/harry/\* \*.o
Run Code Online (Sandbox Code Playgroud)

将删除条目 foo/tom/junk、所有以 foo/harry/ 开头的文件以及所有以 .o 结尾的文件(在任何路径中)。