我在文件夹中有许多压缩文件,如a.zip b.zip
等。我想解压缩这些并放入像a,b
这样的目录。你能给我一些unix脚本吗?
答案 0 :(得分:6)
不应该太难(未经测试!):
#!/bin/bash
for zip in *.zip ; do
dir=${zip%.zip}
mkdir "$dir"
unzip -rd "$dir" "$zip"
done
答案 1 :(得分:1)
您可以在unix中使用unzip实用程序,如下所示:
#!/bin/bash
for f in *.zip
do
echo "unzipping $f"
unzip $f -d ${f%.*}
done
在目录中运行此脚本将根据需要解压缩其中的所有zip文件,例如a.zip,b.zip将分别解压缩到目录a和b。
答案 2 :(得分:1)
This previous post帮助我实现了同样的功能;我甚至创建了一个脚本来帮助我记住我的电脑:
$ 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'
只是认为将这些相关信息保存在一个页面上会有所帮助,以防其他人正在寻找相同的效果。