linux – Unix unzip:如何批量解压缩文件夹中的zip文件并保存在子文件夹中?

linux – Unix unzip:如何批量解压缩文件夹中的zip文件并保存在子文件夹中?,第1张

概述假设我有一个文件夹’images’,里面有0001.zip到9999.zip,我想解压缩所有这些并将它们保存在具有文件名的子文件夹中,例如,0001.zip将被解压缩并且保存到/ 0001,0002.zip将解压缩并保存到/ 0002,我试着这样做 unzip '*.zip' 但是它会提取当前文件夹中的所有文件. 你可以这样做: for file in *.zip; do dir=$ 假设我有一个文件夹’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“位.

总结

以上是内存溢出为你收集整理的linux – Unix unzip:如何批量解压缩文件夹中的zip文件并保存在子文件夹中?全部内容,希望文章能够帮你解决linux – Unix unzip:如何批量解压缩文件夹中的zip文件并保存在子文件夹中?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1021435.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存