shell循环可以解压缩目录中的所有文件吗?

hel*_*ell 6 directory shell loops unzip

我已经看到循环解压缩目录中的所有zip文件.但是,在我运行之前,我宁愿确保我要运行的内容能够正常运行:

for i in dir; do cd $i; unzip '*.zip'; rm -rf *.zip; cd ..; done
Run Code Online (Sandbox Code Playgroud)

基本上我希望它看看"dir"的输出看到所有的文件夹,为每个目录cd进入它,解压缩所有的zip档案,然后删除它们,然后cd回来再做一次,直到没有更多.

这是我应该在一个命令中做的事情,还是我应该考虑在Perl中这样做?

top*_*kip 2

部分测试:

find . -type d -exec  sh -c "cd \"{}\" ;  unzip \"*.zip\" ; rm \"*.zip\"  "  \;
Run Code Online (Sandbox Code Playgroud)

cd//为每个unzip子目录执行rm链。