Вы можете попробовать один из следующих способов:
find . ! \( -name . -o -regex ".*/dir" \) -prune -name file
Проблема этого решения в том, что вы должны включить начальный каталог (в нашем случае).
-prune означает исключить все каталоги. кроме .
или .*/dir