Siehe Beispiel unten:
$ 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
$
Ich war überrascht zu entdecken, dass ich die Klammern brauchte, damit dies wie erwartet funktionierte. anscheinend habe ich die Vorrangregel, nach der findihre Argumente bewertet werden, nicht verinnerlicht .
Wie kann ich leicht vorhersagen, wann und wann ich keine Klammern verwenden muss, um findPrimärfarben explizit zu gruppieren ?
Um es anders auszudrücken, was sind die Regeln , nach denen ich mir vorstellen kann find Einsetzen Klammern in die Befehle , die ich geben, die mir erlauben, genau vorherzusagen , wie es ungruppierten Ausdrücke auswerten wird?
findmit mehreren-nameund-execführt nur die letzten Spiele von-name