如何在多个目录中解压缩.zip文件?

时间:2016-03-23 23:54:18

标签: bash zip unzip

我的目录看起来像这样

./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中执行此操作?

2 个答案:

答案 0 :(得分:1)

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

#!/bin/bash

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

答案 1 :(得分:1)

简单的衬垫可以为您节省大量时间

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