到目前为止,我已经弄清楚如何使用 find 递归解压缩所有文件:
find . -depth -name `*.zip` -exec /usr/bin/unzip -n {} \;
但是,我不知道如何在提取后一次删除一个 zip 文件。在 -a -exec 中添加 rm *.zip 最终会在每个目录中的大多数 zip 文件被提取之前删除它们。通过包含 rm 命令的脚本(启用 -i 进行测试)会导致 find 找不到任何 *.zips (或者至少这是它所抱怨的)。当然,许多文件名中都有空格,但此时在 sed 命令中添加 _ 的语法有点超出我的理解。感谢您的帮助!