14

我有一堆 zip 文件,我想在 Linux 中解压到它们自己的目录中。例如:

a1.zip a2.zip b1.zip b2.zip

将被解压缩成:

a1 a2 b1 b2

分别。有什么简单的方法可以做到这一点?

4

4 回答 4

14

添加引号以处理文件名中的空格。

for file in *.zip
do
  unzip -d "${file%.zip}" "$file"
done
于 2010-03-17T16:43:21.643 回答
12
for zipfile in *.zip; do
    exdir="${zipfile%.zip}"
    mkdir "$exdir"
    unzip -d "$exdir" "$zipfile"
done
于 2010-03-17T16:19:34.010 回答
1
for x in $(ls *.zip); do
 dir=${x%%.zip}
 mkdir $dir
 unzip -d $dir $x
done
于 2010-03-17T16:17:41.693 回答
0

很抱歉为旧帖子做出贡献,这对我来说在 cmd 行中有效,当我了解它时它是一个救命稻草

for file in $(ls *.zip); do unzip $file -d $(echo $file | cut -d . -f 1); done

嘿,快!

于 2016-11-09T20:57:26.560 回答