¿Cómo evito que se muestre el mensaje de permisos denegados cuando hago un comando de búsqueda?

6

Estoy intentando ejecutar un comando de búsqueda, también conocido como:

find / -name "some_file" -print 

y mis resultados están llenos de mensajes de permiso denegado:

find: /.DocumentRevisions-V100: Permission denied

¿Cómo puedo evitar que aparezcan en mis resultados de búsqueda?

    
pregunta blueberryfields 29.05.2013 - 20:24

1 respuesta

13

Tres maneras vienen a la mente:

  • ejecuta el comando como administrador: sudo find / -name "whatever" -print
  • descartar todas las salidas de error: find / -name "whatever" -print 2>/dev/null
  • filtre los mensajes "Permiso denegado": find / -name "whatever" -print 2>&1 | fgrep -v "Permission denied"

La diferencia clave entre la segunda y la tercera opción es probablemente que la segunda descarta los mensajes de error todos , mientras que la tercera no mostrará ningún archivo / carpeta donde el nombre contenga "Permiso denegado" (que probablemente sea altamente improbable).

Además, puede que valga la pena señalar que no debería usar la tercera opción si planea seguir procesando la salida de find a través de una canalización. La razón aquí es que la salida estándar y de error se envían a través de dos canales diferentes (y solo se combinan visualmente después por el shell). Si canaliza la salida en otro comando, solo el contenido de la salida estándar se ingresará en el siguiente comando.

    
respondido por el nohillside 29.05.2013 - 20:34

Lea otras preguntas en las etiquetas