tar --occurrence= 选项被忽略?

tar --occurrence= 选项被忽略?

在 Linux 上使用 GNU tar1.26,我正在寻找一种在档案中第 N 次出现文件后停止处理的方法.tar。这应该有效:

tar --file=archive.tar --list --occurrence=1 filename

但由于某种原因,它不起作用。此外:我知道这=1是这里的默认值,但在这里定义它是为了正确演示我想要实现的目标。到目前为止我尝试过的:

  • filename=确切的文件名:工作完美,但是,当我还可以定义只应处理该文件时,为什么我应该使用此选项
  • filname= 带有通配符的内容,例如*.pdf处理所有*.pdf文件并且似乎忽略该--occurrence=选项。我怀疑通配符已停用--occurrence=
  • 不使用通配符会导致“找不到文件”类型的错误
  • 如果我错了,请纠正我,但据我所知,目录中不能有多个具有完全相同名称的文件。我的猜测:这可能与 结合使用--no-ignore-case,但然后......不是吗?

问题--occurrence=:a)使用该选项或b)处理(例如,第二次出现的文件)的正确方法是什么?

答案1

如果您不使用--occurrencetar,则会提取该文件的最新版本。

如果您在没有最旧版本的情况下使用它,=则会提取它,从而成为我们所说的默认值 id 1。因此,--occurrence=2将导致提取的不是最旧的版本,而是下一个版本。

我的版本考虑的时间戳tar是 option 列出的时间t,与 列出的时间相同ls -l

相关内容