Posible duplicado:
¿Cómo elimino las declaraciones impresas de “permiso denegado” del programa de búsqueda?
Cuando ejecuto este comando en Linux (SuSE):
find / -name ant
Recibo muchos mensajes de error del formulario:
find: `/etc/cups/ssl': Permission denied
¿Se find
necesita un argumento para omitir mostrar estos errores y probar solo archivos a los que tengo permiso para acceder?
Respuesta1
puedes filtrar mensajes a stderr
. Prefiero redireccionarlos para que stdout
les guste esto.
find / -name art 2>&1 | grep -v "Permission denied"
Explicación:
En resumen, toda la salida regular pasa a la salida estándar ( stdout
). Todos los mensajes de error al error estándar ( stderr
).
grep
generalmente encuentra/imprime la cadena especificada, luego la -v
invierte, por lo que encuentra/imprime cada cadena quenocontener "Permiso denegado". Todo el resultado del comando de búsqueda, incluidos los mensajes de error que generalmente se envían al stderr
(descriptor de archivo 2), vaya ahora al stdout
(descriptor de archivo 1) y luego el comando los filtrará grep
.
Esto supone que estás usando el bash/sh
shell.
Debajo tcsh/csh
usarías
find / -name art |& grep ....