PDA

Ver la versión completa : [Ayuda] Redirección de salida en GNU/Linux



Bizkaitarra
01/09/2010, 19:50
Buenas,

Tengo un programa que estoy intentando depurar y que necesitaría ejecutarlo desde comando redirigiendo a un fichero la salida pero también que siga saliendo en la pantalla

He probado con > pero lógicamente va todo al fichero pero no a la pantalla y no puedo ver el fichero hasta que el proceso termina (cosa que por cierto no me ocurre con windows que puedo ir viendo el fichero...)

A ver si alguien me da una solución sencilla ;) Muchas gracias!!:lamer:

FlipFlopX
01/09/2010, 19:56
No sé si es en C, si es así no te queda otra que abrir fichero, tirar de los fprintf para cada línea que quieras imprimir en fichero y cerrar archivo.

Bizkaitarra
01/09/2010, 19:58
No sé si es en C, si es así no te queda otra que abrir fichero, tirar de los fprintf para cada línea que quieras imprimir en fichero y cerrar archivo.


Si que es C.... así que tendré que hacer así... pensaba que igual había alguna manera :(

zhorro
01/09/2010, 20:01
Puedes hacerlo con el comando tee, el comando tee te lee la entrada estandar y escribe en la pantalla y en un fichero que le pases por parametro. La sintaxis seria:

$ tuprograma | tee fichero

Leeria la salida de tu programa la pintaria en la pantalla y la almacenaria en 'fichero'.
Si quieres que te lo haga tambien sobre la la salida de errores tendrías que hacer :

$ tuprograma 2>&1 | tee fichero

JoJo_ReloadeD
01/09/2010, 20:01
comando | tee log.txt > /dev/pts/0 (o la consola que uses, miralo con ps...)

Aiken
01/09/2010, 20:02
si puedes abrir otro terminal podrias hacer un tail -f fichero y que te lo vaya mostrando en otro terminal.

Aiken

Bizkaitarra
01/09/2010, 20:15
Muchisisisisisimas gracias

Voy a probarlo :):)

Si esque cuando digo que voy a preguntar a la comunidad de sabios...

< - >

Puedes hacerlo con el comando tee, el comando tee te lee la entrada estandar y escribe en la pantalla y en un fichero que le pases por parametro. La sintaxis seria:

$ tuprograma | tee fichero

Leeria la salida de tu programa la pintaria en la pantalla y la almacenaria en 'fichero'.
Si quieres que te lo haga tambien sobre la la salida de errores tendrías que hacer :

$ tuprograma 2>&1 | tee fichero

He puesto esto:
./ejecutar | tee SALIDA01092010.txt

Y perfecto, muchas gracias a todos!:brindis::brindis:

otto_xd
01/09/2010, 23:21
Gracias, me va a ser muy util ^^