解压目录中的所有文件
我有一个ZIP文件的目录(在Windows机器上创build)。 我可以使用unzip filename
手动解压缩它们,但是如何通过shell解压当前文件夹中的所有ZIP文件?
使用Ubuntu Linux服务器。
(未经testing),但是这个链接表明:
解压缩\ *。zip
只是放在一些引号来逃避通配符:
unzip "*.zip"
将当前目录中的所有压缩文件解压缩为具有压缩文件的文件名的新dirs文件。
例如,以下文件:
myfile1.zip myfile2.zip
将被提取到:
./myfile1/files... ./myfile2/files...
Shell脚本:
#!/bin/sh for zip in *.zip do dirname=`echo $zip | sed 's/\.zip$//'` if mkdir "$dirname" then if cd "$dirname" then unzip ../"$zip" cd .. # rm -f $zip # Uncomment to delete the original zip file else echo "Could not unpack $zip - cd failed" fi else echo "Could not unpack $zip - mkdir failed" fi done
解压缩* .zip,或者如果它们在子文件夹中,则类似
find . -name "*.zip" -exec unzip {} \;
aunpack -e *.zip
,安装了atool
。 具有智能处理错误的优点,除非zip只包含一个文件,否则总是将其解压缩到子目录中。 因此,不存在用大量文件污染当前目录的危险,就像在没有目录结构的zip上unzip
。
for i in *.zip; do newdir="${i:0:-4}" && mkdir "$newdir" unzip "$i" -d "$newdir" done
这将把所有的zip压缩文件解压缩到以压缩文件名称命名的新文件夹中。
a.zip
b.zip
c.zip
将分别解压缩到b
c
文件夹中。
用这个:
for file in `ls *.Zip`; do unzip ${file} -d ${unzip_dir_loc} done
for file in 'ls *.zip'; do unzip "${file}" -d "${file:0:-4}"; done
for i in `ls *.zip`; do unzip $i; done
使用
sudo apt-get install unzip unzip file.zip -d path_to_destination_folder
在linux中解压缩一个文件夹