(unix shell脚本)解压缩多个zip文件,并在zip文件名之后重命名解压缩的文件

阮阮

我有多个zip文件,例如以下示例:

759198298412.zip
----i love you.pdf
----forever and one.txt
----today and tomorrow.docs
48891721241592__5123.zip
----whatever it is.pdf
5717273_616.zip
----igotit.txt
----thank you very much.mp3    

我试图制作一个脚本来解压缩zip文件,然后将解压缩的文件重命名为zip文件名。像这样的输出:

759198298412.pdf
759198298412.txt
759198298412.docs

48891721241592__5123.pdf

5717273_616.txt
5717273_616mp3

我在下面找到了此脚本,但是它对我不起作用,因为我的文件有空间,并且zip文件中有多个文件。

for i in *.zip
do 
n=$(unzip -lqq $i | awk '{print $NF}')
e=${n#*.}
unzip $i && mv $n ${i%%_*}".$e"
done    

请帮忙!谢谢你

伊坦·赖斯纳
for i in *.zip; do
    mkdir "$i-dir"
    cd "$i-dir"
    unzip "../$i"
    for j in *; do
        mv "$j" "$i.${j##*.}"
    done
    cd ..
done

如果在文件名的第一个下划线之后删除所有内容很重要,则mv行应该是:

mv "$j" "${i%%_*}.${j##*.}"

为了即使在zip文件名中不存在下划线的情况下也可以进行删除,请使用:

i=${i%.zip}; mv "$j" "${i%%_*}.${j##*.}"

并将文件全部保留../mv目标文件名的顶级目录前缀

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在不解压缩的情况下获取rar / zip文件中的文件名

来自分类Dev

Unix解压缩和保留文件权限

来自分类Dev

使用Java解压缩UNIX中的.Z文件

来自分类Dev

解压缩(解压缩zip)文件显示错误,存档意外结束

来自分类Dev

使用Swift解压缩zip文件

来自分类Dev

错误解压缩文件:从zip文件解压缩时出现错误1

来自分类Dev

如何“解压缩” zip文件?

来自分类Dev

在非GNU和旧的UNIX上解压缩和解压缩的可移植命令

来自分类Dev

如何解压缩“ .zip”文件?

来自分类Dev

如何在UNIX中解压缩zlib数据?

来自分类Dev

在Linux中从.zip文件解压缩text / csv文件

来自分类Dev

批处理文件以将文件内容解压缩到文件夹,并使用zip文件名重命名/前缀内容

来自分类Dev

从多个zip文件中解压缩特定文件

来自分类Dev

解压缩多个文件

来自分类Dev

如何从终端解压缩zip文件?

来自分类Dev

.zip文件未解压缩

来自分类Dev

Linux从脚本解压缩文件而不输出解压缩的文件名

来自分类Dev

解压缩ZIP文件,然后解压缩所有子ZIP文件

来自分类Dev

Bash脚本解压缩多个文件

来自分类Dev

Unix解压缩失败,但Mac Archive Utility起作用

来自分类Dev

解压缩前访问zip文件

来自分类Dev

无法解压缩zip文件

来自分类Dev

使用7zip解压缩Unix中压缩的文件

来自分类Dev

检查Zip文件的内容并解压缩

来自分类Dev

Windows:解压缩非.zip文件

来自分类Dev

通过名称Shell脚本解压缩嵌套的.zip文件

来自分类Dev

在Powershell中替换* .zip文件中的文件而无需解压缩(解压缩)

来自分类Dev

解压缩ZIP文件,包括隐藏文件

来自分类Dev

如何解压缩多个 zip 文件夹

Related 相关文章

热门标签

归档