2

Я пытаюсь использовать опцию + для поиска 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"

2 ответа2

4

Вам не нужно \; вместе с +

0

Гораздо проще просто find -print0 | xargs --null -I XXX do_something XXX . Позвольте find чтобы find и xargs делать другие вещи.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .