GNU/Linux >> Tutoriales Linux >  >> Linux

Ubuntu grep, buscar, etc.:Permiso denegado y No existe tal salida de archivo o directorio

con grep podrías especificar el indicador -s que hace más o menos lo que dijo @ortang

-s, --sin-mensajes Suprima los mensajes de error sobre archivos inexistentes o ilegibles. Nota de portabilidad:a diferencia de GNU grep, la séptima edición de Unix grep no se ajustaba a POSIX, porque carecía de -q y su opción -s se comportaba como la opción -q de GNU grep. El grep al estilo USG también carecía de -q pero su opción -s se comportaba como GNU grep. Los shellscripts portátiles deben evitar tanto -q como -s y deben redirigir la salida estándar y de error a /dev/null en su lugar.

con find, hasta donde yo sé, la respuesta de @ortangs es la mejor. Algo como

find / -name "myfile" -type f -print 2>/dev/null


Intenta redirigir stderr a /dev/null .

[email protected]:/$ grep -rnP 'YII_CORE_PATH' ./ 2> /dev/null | grep -v .svn

Redirigir el strerr a /dev/null (también conocido como black hole ) es una buena manera de suprimir los errores de permiso denegado.

Sin embargo, ten en cuenta que esta herida no solo suprime permission denied mensajes pero TODOS error de mensajes.

Si desea conservar los mensajes de error que no sean permission denied entonces puedes hacer algo como esto -

grep -rnP 'YII_CORE_PATH' ./ 2>&1 | grep -v 'permission denied' > error.log

Si no desea conservarlos, lo siguiente estaría bien -

grep -rnP 'YII_CORE_PATH' ./ 2> /dev/null | grep -v .svn

Linux
  1. ¿Cómo maneja Linux múltiples separadores de rutas consecutivas (/home////username///file)?

  2. Linux:¿Diferencia entre /dev/console, /dev/tty y /dev/tty0?

  3. ¿Diferencia entre 2>&-, 2>/dev/null, |&, &>/dev/null y>/dev/null 2>&1?

  4. ¿Qué tan portátiles son /dev/stdin, /dev/stdout y /dev/stderr?

  5. Eliminar archivos y directorios por sus nombres. ¿El fichero o directorio no existe?

¿Qué es '/dev/null 2&1' en Linux?

/dev/null en Linux

Comprender los archivos /proc/mounts, /etc/mtab y /proc/partitions

/dev/sdb:No existe tal archivo o directorio (pero /dev/sdb1, etc. existe)

Linux:diferencia entre /dev/console, /dev/tty y /dev/tty0

Cómo usa Linux /dev/tty y /dev/tty0