Encontrar archivos para los cuales falla un comando

26

Me gustaría encontrar recursivamente todos los archivos para los cuales un script que acepta un archivo como argumento devuelve un valor distinto de cero. ¿Alguna idea de cómo hacer esto usando 'find' o una herramienta similar?

mitanyen
fuente

Respuestas:

38

findLa -execacción de se puede utilizar para esto:

find . \! -exec yourscript {} \; -print

imprimirá los nombres de todos los archivos para los que yourscriptfalla.

-execpuede usarse de esta manera para convertir comandos externos apropiados en findpruebas.

Puede limitar los archivos que se prueban agregando findpruebas antes -exec; por ejemplo, para limitar los candidatos a archivos regulares, agregue -type f:

find . -type f \! -exec yourscript {} \; -print
Stephen Kitt
fuente
8
De manera equivalente, usando -o(o): find . -exec yourscript {} \; -o -print.
John Kugelman apoya a Monica el