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?
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 ....