On 2019-10-03 00:10, Peng Yu wrote:
> I’ve checked this many years ago. One directory exec is not acceptable in
> my case. I ended up with two pass, one to check which directory to include
> and exclude, then search for files in the directory included. But I am
> looking for something better.

The problem with a test like "-name 'file.txt'" is that find is already
visiting() a directory level too deep for a subsequent action to be
effective.

For your special case, you could try to locally add a new '-child PATTERN'
predicate which could check for the existence below the current entry.
A subsequent -prune would then skip that directory.

I'd consider your use-case not common enough to add such an option to GNU find,
as the existing solution via "-exec test -f '{}/file.txt' \;" seems to be 
sufficient
for most cases.

Have a nice day,
Bern

Reply via email to