从 tar 文件中提取更新文件的特定版本

从 tar 文件中提取更新文件的特定版本

我有一个 tar 文件,该文件已随着时间的推移而更新(例如tar -uf backup.tar file.txt),并包含特定文件的各种迭代(例如file.txt)。

我怎样才能提取文件的旧版本而不是最新版本?

答案1

您可以使用以下--occurrence选项:

   --occurrence[=N]
          Process only the Nth occurrence of each  file  in  the  archive.
          This  option  is  valid only when used with one of the following
          subcommands: --delete, --diff, --extract or --list  and  when  a
          list  of files is given either on the command line or via the -T
          option.  The default N is 1.

例如给定

$ tar tvf archive.tar
-rw-r--r-- steeldriver/steeldriver 15 2020-11-16 18:25 file
-rw-r--r-- steeldriver/steeldriver 15 2020-11-18 18:25 file
-rw-r--r-- steeldriver/steeldriver 15 2020-11-19 18:25 file

然后

$ tar xvf archive.tar file --occurrence=2
file
$ ls -l file
-rw-r--r-- 1 steeldriver steeldriver 15 Nov 18 18:25 file

相关内容