我a.zip b.zip
在一个文件夹中有许多压缩文件等等。我想将它们解压缩并放入相应的目录中a,b
。你能建议我一些 unix 脚本吗?
问问题
3979 次
3 回答
6
应该不难(未经测试!):
#!/bin/bash
for zip in *.zip ; do
dir=${zip%.zip}
mkdir "$dir"
unzip -rd "$dir" "$zip"
done
于 2012-07-24T10:30:35.327 回答
1
上一篇文章帮助我实现了同样的功能;我什至创建了一个脚本来帮助我在计算机上记住:
$ 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'
只是认为将这些相关信息保留在一个页面上可能会有所帮助,以防其他人正在寻找相同的效果。
于 2013-02-19T04:51:36.993 回答
1
您可以在 unzip 中使用 unzip 实用程序,如下所示:
#!/bin/bash
for f in *.zip
do
echo "unzipping $f"
unzip $f -d ${f%.*}
done
在目录中运行此脚本将根据需要解压缩其中的所有 zip 文件,例如 a.zip,b.zip 将分别解压缩到目录 a 和 b。
于 2012-07-24T10:32:10.987 回答