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:

<*>
¿Fue útil?

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top