1

Я хотел бы найти находку в каталоге, исключая его. Я нашел два очень разных примера в Google, и, поскольку они оба даже не пытаются работать, я предполагаю, что в OSX что-то отличается, или я делаю что-то странное.

Я хотел бы сделать:

find here/ -name '*.xxx' -BUTNOT here/there/ -exec stuff {} \;

Используя примеры, которые я пробовал, я получаю либо ошибку, либо 0 совпадений, либо все совпадения.

Возможно, мне придется исключить более одного subdir.

1 ответ1

3

К сожалению, сейчас у меня нет OS X, но по крайней мере в Linux это работает:

find . -name \*.xxx -o -path ./path/to/exclude -prune ...

Чтобы удалить более одного каталога , повторите весь шаблон -o -path ... -prune:

find . -name \*.xxx -o -path ./path/to/exclude1 -prune -o -path ./path/to/exclude2 -prune ...

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