Если вы хотите удалить любой каталог с именем .git
или node_modules
из дерева поиска, вы должны использовать
-type d \( -name.git -o -name node_modules \) -prune
Это приведет к тому, что find
даже не будет входить в эти каталоги (-type d
не является строго необходимым, но я буду использовать его здесь для симметрии с -type f
; см. ниже ).
Затем вы должны добавить другие условия,
-type d \( -name.git -o -name node_modules \) -prune -o \
-type f \( -name '*.yaml' -o -name '*.html' \) -print
Заканчивается
find. \
-type d \( -name.git -o -name node_modules \) -prune -o \
-type f \( -name '*.yaml' -o -name '*.html' \) -print
Любое действие, которое вы хотите выполнить с путями, прошедшее все тесты, должно выполняться вместо -print
.
Обратите внимание, что логическая операция по умолчанию между двумя предикатами —-a
(AND ).