使用单个文件解压缩存档,并重命名输出以匹配存档名称

劳伦斯·科彭诺(Laurens Koppenol)

目标是解压缩许多zip文件并将结果文件重命名为原始存档名称。

给定一个包含许多zip文件的文件夹,其中大多数包含一个名为的文件bla.txt,但是当然也有一些例外。众所周知,每个文件都有一个文件,即txt文件。

./zips/
    a.zip - contains bla.txt
    b.zip - contains bla.txt
    c.zip - contains somethingelse.txt
    d.zip - contains bla.txt
    ...   - ...

输出应该是

./zips/
    a.txt
    b.txt
    c.txt
    d.txt
    ...  

当前的最佳照片,它提取了所有内容,但给我留下了很多文件夹:

for z in *.zip; do unzip $z -d $(echo 'dir_'$z); done

也许像

for z in *.zip; do unzip $z; mv 'content_name.txt' $z; done

但是,如何获得内容名称?

杰夫·谢勒(Jeff Schaller)

您可以继续这个-d想法,只需将任何提取的文件重命名为所需的“ zip名称减去zip加txt”即可:

mkdir tmp
for f in *.zip; do unzip "$f" -d tmp && mv tmp/* "${f%.zip}.txt"; done
rmdir tmp

或者,您可以通过管道将输出从解压缩到适当命名的文件中:

for f in *.zip; do unzip -p "$f" > "${f%.zip}.txt"; done

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

解压缩使用哪种方法在存档中查找单个文件?

解压缩到以存档命名的新文件夹中的存档管理器

解压缩Shell存档(.shar文件)

使用Azure Logic App解压缩并重命名基础文件

在 Android Studio 3.5 中使用 Build Variant 重命名应用程序的存档名称

如何正确解压缩具有希伯来语名称的文件的ZIP存档?

批处理文件以解压缩并重命名文件

DataProc不会解压缩作为存档传递的文件

SonarQube问题:确保解压缩此存档文件是安全的

解压缩到与存档同名的文件夹

如何使用批处理文件解压缩ZIP存档文件?

解压缩存档时解压缩跳过所有文件

解压缩BZIP2存档

用Groovy解压缩存档

用Java解压缩Gzip存档

读取zip存档中的文件,而无需解压缩存档

立即打印存档文件列表(无需解压缩整个存档)

瓦拉:如何在不解压缩的情况下检索zip存档中所有文件的名称?

c#解压缩错误使用不受支持的压缩方法压缩了存档条目

解压缩多个压缩文件,并根据需要自动重命名具有相同名称的文件

解压缩多个文件,以Whithout覆盖名称命名的文件

从存档中提取一个文件:7-zip是否需要解压缩整个存档?

在一个操作中解压缩并重命名zip中的特定目录-

将单个文件解压缩到所需名称

如何在不解压缩的情况下在zip存档中列出文件?

如何解压缩具有tar.zst的存档文件?

从ZIP存档导出文件列表而无需解压缩

如何在bash中并行从存档和grep解压缩某些文件

Python zipfile不会解压缩Windows zip存档的文件夹