Xem ví dụ dưới đây:
$ 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
$
Tôi đã ngạc nhiên khi phát hiện ra rằng tôi cần các dấu ngoặc đơn để nó hoạt động như mong đợi; rõ ràng là tôi đã không tiếp thu quy tắc ưu tiên bằng cách findđánh giá các đối số của nó.
Làm thế nào tôi có thể dễ dàng dự đoán khi nào tôi sẽ và khi nào tôi sẽ không cần sử dụng dấu ngoặc đơn để nhóm một cách rõ ràng find?
Nói cách khác, các quy tắc mà tôi có thể tưởng tượng khi find chèn dấu ngoặc đơn vào các lệnh tôi đưa ra là gì, điều này sẽ cho phép tôi dự đoán chính xác cách nó sẽ đánh giá các biểu thức không được nhóm?
findvới nhiều-namevà-execchỉ thực hiện các trận đấu cuối cùng của-name