Existe-t-il un moyen d'écrire un find
afin qu'il se casse si l'une des -exec
opérations échoue sur un fichier?
Par exemple ( javac
est commodément utilisé comme un programme qui peut retourner un code de sortie de 1 sur certains fichiers et pour aucune autre raison):
$ 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
Dans l'exemple ci-dessus, bien que le exec
fichier ait A.java
échoué (et renvoyé un code de sortie de 1), la find
commande a également exécuté et compilé le fichier B.java
. Existe-t-il un moyen de sortir find
ou dois-je utiliser une forme quelconque à la for
place?
Ma version de find:
$ find -version | head -1
find (GNU findutils) 4.4.2
$0
il?