Pruning find
Fremantle
I don't know why I always forget how to exclude things from find results.
This answer by Laurence Gonsalves on Stack Overflow
has made me realise I was thinking about it wrongly:
"it's an action (like -print), not a test (like -name). It alters the "to-do" list, but always returns true."
I'm searching for a file in a MediaWiki images/ directory, but don't want to see the matching images under thumb/.
This seems to do it:
find . -name 'thumb' -prune -o -name '*lorem*'
The -o is or, and the part after it is not evaluated if the part before is true.