首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从存档文件中提取文件的条件

从存档文件中提取文件的条件
EN

Stack Overflow用户
提问于 2019-08-08 06:31:47
回答 2查看 134关注 0票数 1

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

例如:让我们考虑1000是我们的阈值。所以

path/to/file/900.nxml不会被提取,但是

提取path/to/file/1100.nxml

因此,我的要求是从存档中提取一个有条件的文件。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-08 08:44:54

  1. 使用tar -tf <archive>获取存档中的文件列表。
  2. 处理文件列表以确定需要提取的文件。将文件列表写入临时文件<filelist>,每文件一行。
    • 查看您选择的标记,您可以使用Python或bash进行字符串筛选,无论您喜欢哪种。

  1. 使用tar -xf <archive> -T <filelist>提取所需的文件。 选项-T--files-from从给定文件中读取要处理的文件名。
    • 也见焦油手册

票数 1
EN

Stack Overflow用户

发布于 2019-08-09 06:03:15

您还可以使用tar的--wildcards选项。

例如,当阈值为1000时,可以使用tar -xf tar.gz --wildcards path/to/files/????*.nxml?将匹配一个字符,使用*将匹配任意数量的字符。此模式将查找任何具有4个或更多字符的文件名。

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57406452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档