2016-03-23 106 views
0

我的目录看起来像这样如何解压缩多个目录中的.zip文件?

./Dir1/Some file.zip 
./Dir2/Some other file.zip 
./UnzipFiles.sh 

我想遍历./每个目录并解压缩每个人的zip文件。

UnzipFiles.sh看起来是这样的:

#!/bin/bash 

for i in ./*/*.zip 
do 
     cd "$i"; 
     unzip "$i"; 
done 

但是,这一切都解压缩到./。我希望每个.zip文件的内容解压到包含它的目录中。

如何在bash中做到这一点?

+1

如果您在'for'循环中添加'echo“#dbg:i = $ i''并注释掉其他代码,则会看到您的问题。祝你好运。 – shellter

+0

@shellter这给我看'''我我''实际上是'.zip'文件,而不是目录。谢谢。 – Username

回答

1

我是cd-每个.zip文件本身。相反,我需要做的是:

#!/bin/bash 

for i in ./*/ 
do 
     cd "$i"; 
     unzip *.zip; 
     cd ../; 
done 
1

简单的衬垫,可以节省你大量的时间

$为ls *.zip文件;解压缩$ file -d echo $file | cut -d . -f 1;完成

相关问题