linux - 如何从 tar.gz 中仅提取所需的文件?
问题描述
我有一个 .tar.gz 文件,它下面有多个文件夹。每个文件夹都有多个文件,我只想从它下面的所有文件夹中提取SNAPSHOT .jar。
我尝试使用通配符,但没有帮助。前任:
tar -xf samplejars.tar.gz --wildcards "*SNAPSHOT*.jar"
samplejars.tar.gz 有很多文件夹,我只想提取SNAPSHOT .jar。我怎么做?
注意:所有罐子都有唯一/不同的名称。
解决方案
我使用以下文件夹结构对其进行了测试:
data/
data/a
data/a/ANOTHER_SNAPSHOT.jar
data/b
data/c
data/c/SNAPSHOT.jar
data/d
data/e
data/f
data/f/SNAPSHOT.jar.with.extension
data/g
data/g/SNAPSHOT.jar
data/h
以下通配符掩码有效,仅提取与SNAPSHOT.jar完全匹配的文件,而不是 SNAPSHOT.jar.with.extension 和 ANOTHER_SNAPSHOT.jar
tar -xf data.tar.gz --wildcards "*/SNAPSHOT.jar"
结果:
data/c/SNAPSHOT.jar
data/g/SNAPSHOT.jar
推荐阅读
- c# - 在 MVC 中使用 FormCollection 将 iCollection 属性中的数据作为表格打印在视图中
- python - 重复 0 级多索引列标题
- reactjs - 单击导航处理程序 eslint 错误
- c# - 如何检查datarowview是否已经存在记录?
- ruby-on-rails - Rails 5.2:活动管理员 Has_One 关系错误
- ios - 可扩展 UiTableView 的自定义单元格
- ios - 无法使用新框架构建项目
- sql-server - 我应该为每个一致的数据集还是一个 systemCodes 表创建新表?
- sapui5 - API 参考:在哪里可以找到所有可用于聚合绑定信息对象的属性?
- c# - Newtonsoft - 如果属性丢失,如何抛出异常?