Объяснение
Различные варианты выполнения find
, как правило, называют разные имена operands
в man
странице. Однако общее выполнение любой версии find
, которая следует за стандартом posix
, будет таким же.
find [-H | -L] path ... [operand_expression ...]
мужчина страница цитаты взяты из posix find man page
Где каждый набор из двух соприкасающихся expressions
(значение -operand (Argument)
), который не имеет явный оператор отделяющей expressions
, имеет неявный -a
(AND) оператор отделяющий их.
expression [-a] expression
Conjunction of primaries; the AND operator is implied by the juxtaposition of
two primaries or made explicit by the optional -a operator.
The second expression shall not be evaluated if the first expression is false.
Заключение
Таким образом, любая реализация, которая соответствует стандарту posix
должен выполнить expressions
слева направо; и
find . -type d -mount -ctime +5 -prune -exec 'rm {}' \;
эквивалентно
find . -type d -a -mount -a -ctime +5 -a -prune -a -exec 'rm {}' \;
Значение, что -exec
будет выполняться только тогда, когда все предыдущие operands
истинны.
Другого
Стоит также отметить, что в то время как -exec
не может называться явной action
по вашей реализации находки, он должен еще получить лечение подобных образом (а именно замена -print
действий)
If no expression is present, -print shall be used as the expression.
Otherwise, if the given expression does not contain any of the primaries -exec,
-ok, or -print, the given expression shall be effectively replaced by:
(given_expression) -print
Редактировать
Технически верно, что не каждый осущ ementation должна быть posix жалоба. He're почти идентичную цитата из solaris find man page
expression [-a] expression
Concatenation of primaries (the and operation is implied by the juxtaposition of two primaries).
Несвязанной к ответу, но я не думаю, что 'гт {}' должны быть заключены в кавычки. Вы можете процитировать '{}', если ваша интерпретация будет интерпретировать его в первую очередь, или оставить ее некотируемой в большинстве оболочек. – BroSlow