2011-02-17 11 views
7

Actualmente estoy usando un compilador que constantemente devuelve advertencias, no quiero ver las advertencias. Me di cuenta de que todas las advertencias comienzan con la cadena "Nota:", así que pensé que era posible filtrar estas líneas.Comando de Unix para ignorar las líneas que comienzan con X

puedo compilar con

jrc *.jr 

¿Existe un comando UNIX que altera la salida que da a no imprimir las líneas que comienzan con "Nota:"?

Respuesta

15
grep -v "^Note:" 

Además, es posible que desee redirigir stderr a stdout:

command 2>&1 | grep -v "^Note:" 
+0

El comando: 'jrc * .jr 2> & 1 | grep -v "^ Nota:" ' funciona perfectamente. ¡¡¡Gracias!!! ¿Alguien sabe qué hace 2> y 1? Soy curioso. :) – Tarrasch

+3

Redirige stderr (descriptor de archivo 2) a stdout (descriptor de archivo 1). Tubería de un comando con | tomará stdout, no stderr, del comando y lo enviará a través de otro comando. Los programas eligen mostrar la salida en stdout o stderr, generalmente muestra salida "normal" en stdout y advertencias/errores en stderr. – Erik

+4

@ user621449: '2> & 1' significa: redirigir el descriptor de archivo 2 a cualquier archivodescriptor 1 que esté apuntando. En Unix, 0 es stdin, 1 es stdout y 2 es stderr. Así que esto redirige stderr a la misma "secuencia" que stdout. Eso es necesario para que los mensajes de error también se eliminen. – DarkDust

1

Otra forma sería usar sed.

sed '/^Note:/d' 
Cuestiones relacionadas