首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将tar.gz重新打包为tar并排除某些文件

将tar.gz重新打包为tar并排除某些文件
EN

Stack Overflow用户
提问于 2015-07-30 06:01:52
回答 1查看 1.7K关注 0票数 2

我有一个大的backup.tar.gz文件(260 GB)和大约160 GB的免费存储空间。备份文件包含三个大的哑文件(旧备份,大约190 GB),这是不需要的。因此,我希望将backup.tar.gz解压到管道中,排除一些文件,然后在不使用gzip的情况下将其送回。我有一个文本文件,其中包含哑文件的名称。所以我需要这样的东西:tar -xz --exclude-from='exclude.lst' -f backup.tar.gz -O - | tar cfv backup.tar -T -,但它似乎不起作用。

在得到第一个答案之后,我在这里找到了一个解决方案-- https://unix.stackexchange.com/questions/80239/efficiently-remove-files-from-large-tgz

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-30 06:26:56

这个问题属于https://superuser.com/https://unix.stackexchange.com/

tar x -O只是连接所有文件的内容。这会丢失文件名和其他元数据,包括文件之间的边界。

使用GNU tar --delete在没有原始成员的情况下重写tar。因为您有要排除的所有文件的名称,所以这应该很简单。也许zcat | tar --delete是为了避免让tar重新压缩输出。

如果这个答案不能引导你朝着正确的方向前进,我明天可以补充更多的细节。

我记得我看过一个档案馆的瑞士军刀命令行程序,它可能有做这种事情的选择,但是快速搜索没有找到它。

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

https://stackoverflow.com/questions/31716185

复制
相关文章

相似问题

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