linux – Unix unzip:如何批量解压缩文件夹中的zip文件并保存在
发布时间:2020-12-13 23:56:00 所属栏目:Linux 来源:网络整理
导读:假设我有一个文件夹’images’,里面有0001.zip到9999.zip,我想解压缩所有这些并将它们保存在具有文件名的子文件夹中,例如,0001.zip将被解压缩并且保存到/ 0001,0002.zip将解压缩并保存到/ 0002,我试着这样做 unzip '*.zip' 但是它会提取当前文件夹中的所有文
假设我有一个文件夹’images’,里面有0001.zip到9999.zip,我想解压缩所有这些并将它们保存在具有文件名的子文件夹中,例如,0001.zip将被解压缩并且保存到/ 0001,0002.zip将解压缩并保存到/ 0002,我试着这样做
unzip '*.zip' 但是它会提取当前文件夹中的所有文件. 解决方法
你可以这样做:
for file in *.zip; do dir=$(basename "$file" .zip) # remove the .zip from the filename mkdir "$dir" cd "$dir" && unzip ../"$file" && rm ../"$file" # unzip and remove file if successful cd .. done 或者,在一行上一起运行: for file in *.zip; do dir=$(basename "$file" .zip); mkdir "$dir"; cd "$dir"; unzip ../"$file" && rm ../"$file"; cd ..; done 如果您需要/想要保留原始.zip文件,只需删除&& rm ../”$file“位. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |