Apakah ada cara untuk menulis find sehingga rusak jika salah satu -exec operasi gagal pada file?
Misalnya. (javac mudah digunakan sebagai program yang dapat mengembalikan kode keluar 1 pada beberapa file dan tanpa alasan lain):
$ 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
Pada contoh di atas, meskipun exec pada file A.java gagal (dan mengembalikan kode keluar 1), find perintah melanjutkan dan mengkompilasi file B.java demikian juga. Apakah ada cara untuk keluar dari find atau haruskah saya menggunakan beberapa bentuk for bukan?
Versi pencarian saya:
$ find -version | head -1
find (GNU findutils) 4.4.2
Jawaban yang Diterima:
Setidaknya dengan GNU find Anda dapat menggunakan:
find ... -exec ... -o -quit