<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>blog.interrupciones.net &#187; tee</title>
	<atom:link href="http://blog.interrupciones.net/tag/tee/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.interrupciones.net</link>
	<description></description>
	<lastBuildDate>Mon, 31 May 2010 08:26:44 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Guardando la salida por pantalla en un fichero con el comando tee</title>
		<link>http://blog.interrupciones.net/guardando-la-salida-por-pantalla-en-un-fichero-con-el-comando-tee/</link>
		<comments>http://blog.interrupciones.net/guardando-la-salida-por-pantalla-en-un-fichero-con-el-comando-tee/#comments</comments>
		<pubDate>Sun, 17 Jun 2007 21:13:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Utilidades]]></category>
		<category><![CDATA[comandos]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[tee]]></category>

		<guid isPermaLink="false">http://www.interrupciones.net/guardando-la-salida-por-pantalla-en-un-fichero-con-el-comando-tee/</guid>
		<description><![CDATA[A veces, administrando servidores por linea de comandos, voy a hacer una tarea que se va a demorar mucho tiempo, quizás horas. Por ejemplo, compilar todas las actualizaciones e instalarlas en *BSD, sincronizar un repositorio, etc.
Muchas veces al ejecutar comandos importantes para el sistema es necesario estar atento a la pantalla por si salen mensajes [...]]]></description>
			<content:encoded><![CDATA[<p>A veces, administrando servidores por linea de comandos, voy a hacer una tarea que se va a demorar mucho tiempo, quizás horas. Por ejemplo, compilar todas las actualizaciones e instalarlas en <a href="http://blog.interrupciones.net/category/bsd/">*BSD</a>, <a href="http://blog.interrupciones.net/como-crear-un-repositorio-de-arch-linux/">sincronizar un repositorio</a>, etc.</p>
<p>Muchas veces al ejecutar comandos importantes para el sistema es necesario estar atento a la pantalla por si salen mensajes de alerta que nos pueden ser de ayuda, pero es evidente que no podemos estar atentos al 100% con tareas de este tipo. Una solución cutre sería redireccionar el STDOUT (&gt;) a un fichero, usaremos el comando find sólo como ejemplo, por poner algo:</p>
<pre># find / -name *.conf &gt; salida</pre>
<p>En este caso, <em>salida</em> contiene toda la salida que hubiese hecho por pantalla el comando en concreto, pero&#8230; ¿y si queremos ver la salida en tiempo real, y al mismo tiempo almacenarla en un fichero? Muy facil, vamos a usar <a href="http://en.wikipedia.org/wiki/Tee_(Unix)" target="_blank">tee</a>:</p>
<pre># find / -name *.conf | tee salida</pre>
<p><strong>tee</strong> envía lo que recibe por el <a href="http://en.wikipedia.org/wiki/Pipeline_(Unix)" target="_blank">pipe</a> hacia la salida standard STDOUT (la pantalla) y al mismo tiempo lo envia al fichero que le pasemos por parámetro&#8230; ¡voilà! Pero supongamos que no queremos escribir de cero el fichero <em>salida</em> como lo haríamos con &gt; sinó añadir esos datos al final como haríamos con &gt;&gt;. En este caso tenemos que usar el parámetro <strong>-a</strong> (append):</p>
<pre># find / -name *.conf | tee -a salida</pre>
<p>Hasta aquí esta mini-explicación de un comando muy útil pero muchas veces desconocido, olvidado o simplemente poco usado.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.interrupciones.net/guardando-la-salida-por-pantalla-en-un-fichero-con-el-comando-tee/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
