【问题标题】:How to unzip to the same directory in bash如何在bash中解压缩到同一目录
【发布时间】:2012-10-14 01:06:18
【问题描述】:

我有数百个目录,每个目录都包含几个 zip 文件。我想遍历每个目录并解压缩所有 zip 文件,将 zip 文件的内容放入与 zip 文件本身相同的目录中(不创建新的子目录)。这是我的 bash 脚本:

#!/bin/bash
src="/path/to/directories"
for dir in `ls "$src/"`
do
unzip "$src/$dir/*"
done

这个脚本会解压缩,但它会创建数千个子目录并将它们转储到我的桌面上!如何获得所需的行为?如果有什么不同的话,我在 Mac OSX 上。

【问题讨论】:

    标签: macos bash unzip


    【解决方案1】:
    #!/bin/bash
    
    src=/path/to/directories
    for dir in "$src"/*
    do
        (cd "$dir" && unzip '*')
    done
    

    【讨论】:

    • 谢谢!有效。我还添加了 -j 参数,这样就不会创建新的子目录。 (cd "$dir" && unzip -j '*')
    猜你喜欢
    • 1970-01-01
    • 2013-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-09
    • 2016-08-11
    • 1970-01-01
    • 2016-12-28
    相关资源
    最近更新 更多