首页 > 解决方案 > 将文件从不同的目录解压缩到不同的目录

问题描述

我有一个类似于以下的文件夹结构:

├── scripts
│   ├── unzipper.sh
├── zips
│   ├── foo_bar.zip
│   ├── qux.zip
│   └── foo_baz.zip
└── unzipped

从解压后的文件夹中,我的目标是运行 unzipper.sh 脚本,将 zips 目录中的文件解压到解压后的文件夹(当前工作目录)。我想结束:

├── scripts
│   ├── unzipper.sh
├── zips
│   ├── foo_bar.zip
│   ├── qux.zip
│   └── foo_baz.zip
└── unzipped
    ├── foo_bar
    ├─── somefile.txt
    ├── qux
    ├─── another.txt
    ├── foo_baz
    └─── moar.txt

unzipper.sh 脚本目前包含以下内容:

for i in *.zip; do unzip "$i" -d "${i%%.zip}"; done

这非常适合将当前工作目录中的文件解压缩到当前工作目录,但我正在努力找出正确的语法来引用不同文件夹中的 zip 以将其解压缩到当前目录。

欣赏它可能是一个简单的修复,但我在这里错过了明显的。

标签: bashunzip

解决方案


推荐阅读