在 Linux 上使用 GNU tar
1.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
如果您不使用--occurrence
tar,则会提取该文件的最新版本。
如果您在没有最旧版本的情况下使用它,=
则会提取它,从而成为我们所说的默认值 id 1
。因此,--occurrence=2
将导致提取的不是最旧的版本,而是下一个版本。
我的版本考虑的时间戳tar
是 option 列出的时间t
,与 列出的时间相同ls -l
。