Назад | Перейти на главную страницу

Prune не игнорирует каталог верхнего уровня того, что я указал

Когда я это сделаю

mkdir -p a/b/c
mkdir -p a/d/e
find ./a -path ./a/d -prune -o -type d

Я получаю это:

./a
./a/d
./a/b
./a/b/c

Я, должно быть, неправильно использовал флаг обрезки. Как игнорировать каталог ./a/d а также из вывода моей находки?

-prune преуспевает на ./a/d чтобы эта ветка удалась и печатала, -type d также находит это в ./a

Итак, я думаю, ты хочешь -false после -prune и -not -path ./a/d после -o.

find ./a  -path ./a/d -prune -false -o -not -path ./a/d -type d