查找命令执行选项

查找命令执行选项

我正在尝试使用+find exec 选项而不是 xargs。但是,我似乎无法让它工作。我觉得我肯定在这里忽略了一些明显的东西。

例子:

find . -name "*.java" -exec grep "@author" {} + \;
find: paths must precede expression
Usage: find [-H] [-L] [-P] [path...] [expression]

另一方面,这是有效的:

find . -name "*.java" -exec grep "@author" {}  \;

就像这样:

find . -name "*.java" | xargs  grep "@author"

答案1

你不需要 \; 和 +

答案2

只需使用 就容易多了find -print0 | xargs --null -I XXX do_something XXX。让它find执行findxargs执行其他操作。

相关内容