Unix:在相应文件夹中recursion解压缩.zip文件

我有一些压缩文件说a.zip b.zip等文件夹中。 我想解压缩到一个相应的目录,如a,b你可以给我一些unix脚本。

不应该太难(未经测试!):

 #!/bin/bash for zip in *.zip ; do dir=${zip%.zip} mkdir "$dir" unzip -rd "$dir" "$zip" done 

您可以在unix中使用unzip实用程序,如下所示:

  #!/bin/bash for f in *.zip do echo "unzipping $f" unzip $f -d ${f%.*} done 

在目录中运行这个脚本将解压所有压缩文件,如a.zip,b.zip将分别解压到目录a和b。

这个以前的帖子帮助我实现了这个功能。 我甚至创建了一个脚本来帮助我记住我的电脑:

 $ ls *.zip|awk -F'.zip' '{print "unzip "$0" -d "$1}'|sh 

同样,你可以创建一个alias来执行一个bash函数:

 $ alias munzip='for f in *.zip; do unzip -d "${f%*.zip}" "$f"; done' 

并进行干预,事先进行测试:

 $ alias testmunzip='for f in *.zip; do echo unzip -d "${f%*.zip}" "$f"; done' 

只是认为这可能有助于保持这个相关的信息在一个页面上,以防别人正在寻找相同的效果。