GNU/Linux >> Tutoriales Linux >  >> Linux

¿Salir de Find si falla un -exec?

¿Hay alguna forma de escribir un find? para que se rompa si uno de los -exec las operaciones fallan en un archivo?

P.ej. (javac se usa convenientemente como un programa que puede devolver un código de salida de 1 en algunos archivos y por ningún otro motivo):

$ 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

En el ejemplo anterior, aunque el exec en el archivo A.java falló (y devolvió un código de salida de 1), el find el comando procedió y compiló el archivo B.java así como. ¿Hay alguna forma de salir de find? o debería usar alguna forma de for en su lugar?

Mi versión de encontrar:

$ find -version  | head -1
find (GNU findutils) 4.4.2

Respuesta aceptada:

Al menos con GNU find puedes usar:

find ... -exec ... -o -quit

Linux
  1. ¿Obteniendo la opción -exec en Find To Work?

  2. Manipular {} Cadena de retorno de Find -exec?

  3. buscar y copiar archivos usando Bash

  4. find -exec una función de shell en Linux?

  5. Linux descubre la identificación del núcleo con hiperprocesos

¿Qué versión de Linux estoy ejecutando? Aquí está cómo averiguarlo

Cómo averiguar la versión del kernel de Linux que se ejecuta en su PC

¿Cómo detectar y descubrir que un programa está en interbloqueo?

Busque JAVA_HOME y configúrelo en RHEL

¿Cómo puedo saber si mi tarjeta inalámbrica admite 5 GHz?

Averigüe si la biblioteca está en la ruta