python - 从存档文件中有条件提取文件

标签 python bash gzip python-2.x tar

我有一个很大的 tar.gz 存档文件,其中包含 nxml 文件,总大小约为 5GB。 我的目标是从中提取文件,但是,我不必提取所有文件。我必须提取所有名称大于阈值的文件。

例如: 让我们考虑 1000 是我们的阈值。所以
path/to/file/900.nxml 不会被提取,但是
path/to/file/1100.nxml 将被提取。

所以我的要求是从存档中有条件地提取文件。
谢谢

最佳答案

  1. 使用tar -tf <archive>获取存档中的文件列表。
  2. 处理文件列表以确定需要提取的文件。将文件列表写入临时文件<filelist> ,每个文件一行。
    • 查看您选择的标签,您可以根据自己的喜好使用 Python 或 bash 进行字符串过滤。
  3. 使用tar -xf <archive> -T <filelist>提取您需要的文件。
    选项-T--files-from从给定文件中读取要处理的文件名。

关于python - 从存档文件中有条件提取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57406452/

相关文章:

java - FTP下载的文件,解压时出错

.htaccess - gzip 工作但 YSlow 表明它不是

python - 如何在SqlAlchemy orm中设置主键自增

linux - 在 while 循环中隐藏子目录

bash - 如何在 Makefile 中使用 sed

python - 搜索大tar.gz文件中的关键字,复制并删除

c# - 为什么我的程序压缩会删除文件扩展名?

python - 修改大型cython项目的工作流程

python - PEP 8 是否需要函数参数中的运算符周围有空格?

使用正则表达式的 Python 跨文件搜索