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 find
ihre Argumente bewertet werden, nicht verinnerlicht .
Wie kann ich leicht vorhersagen, wann und wann ich keine Klammern verwenden muss, um find
Primä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?
find
mit mehreren-name
und-exec
führt nur die letzten Spiele von-name