tar:如何提取具有许多更新实例的文件的特定版本

tar:如何提取具有许多更新实例的文件的特定版本

我有一个更新了很多次的 tar 文件,并且同一文件有多个副本。我发现使用 -x 提取了最新版本的文件。

例如:我有一个 save.tar 文件,其中包含 3 个版本的 a.txt: a.txt version1“这尚未完成”a.txt version2“这是正确的。” a.txt version3“这已损坏。”

如何提取a.txt(版本2)

答案1

大约。 40 年前,有人讨论过是否tar可以选择指定应该提取的第 n 个事件,但我不确定这是否是一个好主意。

通过标准tar实现,您可以调用:

tar xvwf archive.tar

然后以交互方式确认提取“正确”版本。

对于star,还有一个附加方法:

star -xv < archive.tar -find -mtime +some-time-spec -mtime -other-time-spec

并使用两个有用的时间说明符来选择“正确”的版本。

看:http://schilytools.sourceforge.net/man/man1/star.1.html

当然,您需要使用额外的路径名选择器,以防存档文件包含更多不同的文件名。因此,有了标准tar,这就变成了:

tar xvwf archive.tar a.txt

加上星星就变成了:

star -xv < archive.tar a.txt -find -mtime +some-time-spec -mtime -other-time-spec

或者:

star -xv < archive.tar -find -path a.txt -mtime +some-time-spec -mtime -other-time-spec

答案2

这一页:

--occurrence=n

的默认值n1,或该成员的第一次出现。

相关内容