desarrollo-web-br-bd.com

¿Cómo omitir los errores de "permiso denegado" al ejecutar find en Linux?

Posible duplicado:
¿Cómo elimino las declaraciones de impresión de "permiso denegado" del programa find?

Cuando ejecuto este comando en Linux (SuSE):

find / -name ant

Recibo muchos mensajes de error de la forma:

find: `/etc/cups/ssl': Permission denied

¿find toma un argumento para omitir mostrar estos errores y solo prueba archivos a los que tengo permiso de acceso?

146
user710818

puede filtrar los mensajes a stderr. Prefiero redirigirlos a stdout así.

 find / -name art  2>&1 | grep -v "Permission denied"

Explicación:

En resumen, toda la salida regular va a la salida estándar (stdout). Todos los mensajes de error a error estándar (stderr).

grep generalmente encuentra/imprime la cadena especificada, el -v invierte esto, por lo que encuentra/imprime cada cadena que no contiene "Permiso denegado". Todos sus resultados del comando find, incluidos los mensajes de error que generalmente se envían a stderr (descriptor de archivo 2) van ahora a stdout (descriptor de archivo 1) y luego se filtran por grep comando.

Esto supone que está utilizando el bash/sh Cáscara.

Debajo tcsh/csh usarías

 find / -name art |& grep ....
191
Levon