มีวิธีการเขียนfind
เพื่อที่จะแบ่งหากหนึ่งใน-exec
การดำเนินงานล้มเหลวในไฟล์หรือไม่
เช่น ( javac
ใช้สะดวกเป็นโปรแกรมที่สามารถส่งคืนรหัสออก 1 ในบางไฟล์และไม่มีเหตุผลอื่น):
$ echo "public classXX A{}" >> A.java
$ echo "public class B{}" >> B.java
$ find . -iname \*.java -exec javac {} \;
./A.java:1: error: class, interface, or enum expected
public classXX A{}
^
1 error
ในตัวอย่างด้านบนถึงแม้ว่าexec
ไฟล์ในไฟล์A.java
ล้มเหลว (และส่งคืนโค้ดการออกเป็น 1) find
คำสั่งจะดำเนินการและคอมไพล์ไฟล์B.java
เช่นกัน มีวิธีแบ่งfind
หรือควรใช้รูปแบบบางอย่างfor
แทนหรือไม่
รุ่นที่ฉันค้นหา:
$ find -version | head -1
find (GNU findutils) 4.4.2
$0
ทำอย่างไร