See below example:
$ ls -1p appledir/ applefile orangedir/ orangefile $ find . -type f -name apple\* ./applefile $ find . -type f -name orange\* ./orangefile $ find . -type f -name apple\* -o -name orange\* ./applefile ./orangedir ./orangefile $ find . -type f \( -name apple\* -o -name orange\* \) ./applefile ./orangefile $
I was surprised to discover I needed the parentheses for this to work as expected; apparently I haven't internalized the rule of precedence by which
find evaluates its arguments.
How can I easily predict when I will and when I will not need to use parentheses to explicitly group
Put another way, what are the rules by which I can imagine
find inserting parentheses into the commands I give it, which will allow me to accurately predict how it will evaluate ungrouped expressions?