【问题标题】:How do I unzip .zip files in multiple directories?如何解压缩多个目录中的 .zip 文件?
【发布时间】:2021-08-30 07:12:33
【问题描述】:

我的目录是这样的

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

我想遍历./ 中的每个目录并解压缩每个目录。

UnzipFiles.sh 看起来像这样:

#!/bin/bash

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

但这会将所有内容解压缩到./。我希望将每个 .zip 文件的内容解压缩到包含它的目录中。

如何在 bash 中执行此操作?

【问题讨论】:

  • 如果您将echo "#dbg:i=$i" 添加到您的for 循环中并注释掉其他代码,您将看到您的问题。祝你好运。
  • @shellter 这告诉我"$i" 实际上是.zip 文件,而不是目录。谢谢。

标签: bash zip unzip


【解决方案1】:

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

#!/bin/bash

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

【讨论】:

    【解决方案2】:

    简单的一个班轮可以为您节省大量时间

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

    【讨论】:

      【解决方案3】:

      unzip '*.zip'

      这将解压缩当前目录中的每个 .zip 文件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-24
        • 2019-01-06
        • 1970-01-01
        • 2016-12-28
        相关资源
        最近更新 更多