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/null
fuente
Intenta redirigir
stderr
a/dev/null
.fuente
Redirigiendo el
strerr
a/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 denied
mensajes pero TODOS error de mensajes.Si desea conservar otros mensajes de error que no sean
permission denied
entonces puedes hacer algo como estoSi no desea conservarlos, lo siguiente sería correcto:
fuente
2>&1
en lugar de2> /dev/null
por primera sugerencia.stderr
astout
primero.Utilizar el
sudo
comando para elevar el comando para tener privilegios administrativos.fuente
Utilizando "| & amp;" antes de que grep -v se ocupe de ello, por ejemplo,
fuente