Cuando yo uso grep o find, Siempre me molestan los avisos de "Permiso denegado" y "No existe tal archivo o directorio", algo como esto:
johndoe@johndoe-desktop:/$ grep -rnP 'YII_CORE_PATH' ./ | grep -v .svn
grep: ./lib/ufw/user6.rules: Permission denied
grep: ./lib/ufw/user.rules: Permission denied
grep: ./lib/init/rw/udev/watch/27: No such file or directory
grep: ./lib/init/rw/udev/watch/26: No such file or directory
grep: ./lib/init/rw/udev/watch/25: No such file or directory
¿Cómo puedo evitarlos y hacerlo para que solo vea datos relevantes, es decir, algo que realmente estoy buscando?

Respuestas:
con grep podría especificar la marca -s que hace más o menos lo que dijo @ortang
Con encontrar por lo que sé, @ortangs respuesta es la mejor. algo como
find / -name "myfile" -type f -print 2>/dev/nullfuente
Intenta redirigir
stderra/dev/null.fuente
Redirigiendo el
strerra/dev/null(a.k.ablack hole) es una buena manera de suprimir los permisos denegados errores.Sin embargo, tenga en cuenta que esta herida no solo suprime
permission deniedmensajes pero TODOS error de mensajes.Si desea conservar otros mensajes de error que no sean
permission deniedentonces puedes hacer algo como estoSi no desea conservarlos, lo siguiente sería correcto:
fuente
2>&1en lugar de2> /dev/nullpor primera sugerencia.stderrastoutprimero.Utilizar el
sudocomando para elevar el comando para tener privilegios administrativos.fuente
Utilizando "| & amp;" antes de que grep -v se ocupe de ello, por ejemplo,
fuente