tar --skip-old-files:无法打开:没有这样的文件或目录

tar --skip-old-files:无法打开:没有这样的文件或目录

我正在尝试解压缩目录中的所有文件。它们分散在各个子目录中,所以我不能只使用通配符。相反,我使用find

find . -name "*.tar.gz" -print0 -execdir tar xvf {} \;

那行得通。但是,我想忽略已经用--skip-old-files.

find . -name "*.tar.gz" -print0 -execdir tar xvf --skip-old-files {} \;

当我添加时--skip-old-files,每个文件都会出现错误:

./path/to/file.tar.gztar: --skip-old-files: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now

为什么我会收到错误消息?一定有一些我没有看到的小错误。

答案1

f期望其参数作为下一个命令行参数;和

tar xvf --skip-old-files {}

那是--skip-old-files,因此被解释为要读取的文件,而不是一个选项。

使用

tar xvf {} --skip-old-files

反而。

相关内容