从每个7zip存档中批量提取一个文件(任意文件)(Unix)

马特·威斯(MattWithoos)

我有1,500个7zip档案,每个档案包含2到10个文件,没有子目录。

每个文件具有相同的扩展名,但是文件名有所不同。

我只希望每个存档中只有一个文件,但我想批量执行此操作。我不关心要取出哪个文件,只要只取出一个文件即可。它可以是第一个文件,最新的,最大的,最小的文件,这无关紧要。

这是一个例子:

aa.7z {blah 56.smc, blah 57.smc, 1 blah 58.smc}
ab.7z {xx.smc, xx 1.smc, xx_2.smc}
ac.7z {1.smc}

我想运行相当于:

7z e *.7z # But somehow only extract one file

谢谢!

马特·威斯(MattWithoos)

最终,我的解决方案是提取所有文件并在目录中运行以下命令:

for n in *; do echo "$n"; done > files.txt

然后,我将该列表导入到excel中,并用一个特殊字符将文件分割,该文件将文件名与文件名内的合格数据分开(例如:Some Title(V1)[X2] .smc),特别是我使用了括号定界符。

然后,我删除了所有重复项,仅从拉链中保留了每个副本的一个版本。我终于重新合并了这些列(不幸的是,在拆分过程中删除了括号,因此编写了一个函数,以在下一列是否存在内容的情况下将其添加回去),然后在查看了StackOverflow的一些答案后重新保存了files.txt。 ,基于输入文件(files.txt)删除的文件。对此警告一下,文件名中的空格会导致rm和xargs出现问题,因此我不得不用引号将变量封装起来。

最终,这仍然不能很好地为我服务,所以我只是完全使用了另一种资源。

发布此答案,以便其他陷入类似困境的人找到替代解决方案。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用7-zip从每个存档中批量提取文件

使用7zip提取多个文件并为每个文件创建一个文件夹

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

存档内的文件无法在7zip中打开

在拆分卷7zip存档中获取文件列表

如何提取添加到zip存档中的最后一个文件

如何在Linux中将多个7zip存档提取到具有相同名称的文件夹中?

为目录中的每个zip文件创建一个专用文件夹并提取zip文件

如何将多个文件夹7zip压缩到一个7z包中?

如何从目录中创建文件的7zip存档,不包括现有存档?

以编程方式从7zip存档中提取单个特定文件-Java-Linux

7Zip 更好的策略,通过命令行压缩一个 7z 文件中的一个文件

7zip GUI 的 snap 版本无法查看或编辑存储在 ZIP 存档中的文件

如何创建一个锁定的(只读)7zip存档?

如何通过CLI重命名7zip存档中的文件?

如何为7zip中的每个选定文件/目录创建单独的zip文件?

自动提取一个zip文件

从 zip 存档中提取文件是否比从同一存档中复制文件更快?

将多个文件合并为一个 Zip 存档

NodeJS&Glob:从一个字符串中的 glob 选择中排除具有任意文件扩展名的任意文件

如何批量提取cbz文件中的第一个文件?

检查是否在另一个程序中打开了此文件(7zip和记事本问题)

在Delphi中创建7zip存档

7压缩:获取存档中每个文件夹中的文件数(不提取)

QProcess 使用 7zip 作为子进程提取文件

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

在每个子文件夹中批量创建一个文件夹并移动其中的所有 .jpg 文件

7z-我可以从控制台中提取存档中仅一个文件夹的内容吗?

从文件中提取键/值到UNIX中的另一个文件