Suprimir encontrar & amp; grep & # 8220; no se puede abrir & # 8221; salida
Pregunta
Me dio esta sintaxis del usuario phi
find . | awk '!/((\.jpeg)|(\.jpg)|(\.png))$/ {print grep: can't open ./cisc/.xdbhist
find: cannot open ./cisc/.ssh
;}' | xargs grep "B206"
Me gustaría suprimir la salida de grep: no se puede abrir ..... y encontrar: no se pueden abrir líneas de los resultados.
salida de muestra para ignorar:
Solución
¿Has intentado redirigir stderr a / dev / null?
2>/dev/null
Entonces, lo anterior redirige el flujo n. ° 2 (que es stderr) a / dev / null. Eso depende del shell, pero lo anterior debería funcionar para la mayoría. Debido a que find y grep son procesos diferentes, puede que tenga que hacerlo para ambos, o (tal vez) ejecutar en una subshell. por ejemplo,
find ... 2>/dev/null | xargs grep ... 2>/dev/null
Aquí hay una referencia a alguna documentación sobre la redirección de bash. A menos que esté utilizando csh, esto debería funcionar para la mayoría.
Otros consejos
El indicador de opción grep -s suprimirá estos mensajes para el comando grep