<?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>Nos pasa algo lo mismo &#187; date</title>
	<atom:link href="http://www.tatai.es/tag/date/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tatai.es</link>
	<description>...está claro...</description>
	<lastBuildDate>Tue, 20 Jul 2010 21:09:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Trabajar con ficheros a partir de una fecha y hora</title>
		<link>http://www.tatai.es/2010/01/03/trabajar-con-ficheros-a-partir-de-una-fecha-y-hora/</link>
		<comments>http://www.tatai.es/2010/01/03/trabajar-con-ficheros-a-partir-de-una-fecha-y-hora/#comments</comments>
		<pubDate>Sun, 03 Jan 2010 22:14:07 +0000</pubDate>
		<dc:creator>tatai</dc:creator>
				<category><![CDATA[trucos]]></category>
		<category><![CDATA[consola]]></category>
		<category><![CDATA[date]]></category>
		<category><![CDATA[find]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[touch]]></category>

		<guid isPermaLink="false">http://www.tatai.es/?p=654</guid>
		<description><![CDATA[Al hilo del post de ayer sobre date, hace poco tuve que realizar un sencillo script que borrase todos aquellos ficheros más viejos que una determinada fecha (en particular, ayer a las 6.30h). Seguramente habrás pensado que la mejor opción es un find con -atime (o -mtime o -amin o -cmin, etc) y posteriormente con [...]]]></description>
			<content:encoded><![CDATA[<p>Al hilo del <a href="http://www.tatai.es/2010/01/02/ir-a-una-fecha-mediante-texto/">post de ayer sobre date</a>, hace poco tuve que realizar un sencillo script que borrase todos aquellos ficheros más viejos que una determinada fecha (en particular, ayer a las 6.30h).</p>
<p>Seguramente habrás pensado que la mejor opción es un find con -atime (o -mtime o -amin o -cmin, etc) y posteriormente con un -exec. Bien, es una buena idea aunque yo quería que fuese a partir de un determinado momento exactamente, sin calcular. Para esto, también usé find, pero me apoyé en date y en touch y quedó algo así:</p>
<p><code>#!/bin/bash<br />
# La fecha y hora de ayer a las 6.30h<br />
FECHA=$( date +-d "06:30 yesterday" +"%Y/%m/%d %H:%M:%S" )<br />
# Fichero temporal<br />
POINT=$( tempfile -p "point" )<br />
# Cambiamos la fecha del fichero temporal<br />
touch -d "${FECHA}" ${POINT}<br />
# Buscamos ficheros más viejos que ${POINT} y los borramos<br />
find /path/al/destino -not -newer ${POINT} -exec rm {} \;<br />
# Borramos basura<br />
rm ${POINT}</code></p>
<p>Es posible que sea algo más lioso, pero sin tener que calcular nada (por ejemplo la diferencia de tiempo entre cuando ejecutemos el fichero y nuestra hora objetivo), hacemos el trabajo rápidamente. Y también podemos cambiar la hora de una forma muy cómoda.</p>
<h2>Más info</h2>
<p>Este &#8220;más info&#8221; va a ser un claro RTFM <img src='http://www.tatai.es/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<ul>
<li>man find</li>
<li>man date</li>
<li>man touch</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.tatai.es/2010/01/03/trabajar-con-ficheros-a-partir-de-una-fecha-y-hora/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ir a una fecha mediante texto</title>
		<link>http://www.tatai.es/2010/01/02/ir-a-una-fecha-mediante-texto/</link>
		<comments>http://www.tatai.es/2010/01/02/ir-a-una-fecha-mediante-texto/#comments</comments>
		<pubDate>Sat, 02 Jan 2010 22:14:26 +0000</pubDate>
		<dc:creator>tatai</dc:creator>
				<category><![CDATA[trucos]]></category>
		<category><![CDATA[consola]]></category>
		<category><![CDATA[date]]></category>
		<category><![CDATA[truco]]></category>

		<guid isPermaLink="false">http://www.tatai.es/?p=649</guid>
		<description><![CDATA[Seguramente os habrá pasado alguna vez que os interesa cierta fecha, digamos por ejemplo &#8220;ahora mismo pero hace 3 días&#8221; y queréis usarlo en un comando de consola. Pues bien, esto es realmente sencillo gracias a date. Antes de entrar en detalle, un par de comentarios sobre el comando date. Lo primero es que si [...]]]></description>
			<content:encoded><![CDATA[<p>Seguramente os habrá pasado alguna vez que os interesa cierta fecha, digamos por ejemplo &#8220;ahora mismo pero hace 3 días&#8221; y queréis usarlo en un comando de consola. Pues bien, esto es realmente sencillo gracias a date.</p>
<p>Antes de entrar en detalle, un par de comentarios sobre el comando date. Lo primero es que si escribimos directamente date tendremos algo parecido a esto:<br />
<code>$&gt; date<br />
Sat Jan  2 22:47:41 CET 2010</code><br />
Ahora bien, si queremos que muestre la fecha y hora en formato numérico (con guiones y dos puntos), tenemos:</p>
<p><code>$&gt; date +"%Y-%m-%d %H:%M:%S"<br />
2010-01-02 22:50:06</code></p>
<p>La otra opción interesante, que es la central de este post, es la opción -d. Con esta opción podemos definir el momento que queremos que date muestre y que sea distinto de &#8216;ahora&#8217;. Lo que seguramente no sabías es que se puede definir este momento en &#8220;modo texto&#8221; (en inglés, claro está).</p>
<p>Por ejemplo, si queremos la hora actual, pero hace tres días usaremos:</p>
<p><code>$&gt; date -d "3 days ago"<br />
Wed Dec 30 22:54:44 CET 2009</code></p>
<p>¿Y si queremos las 6.30h de la mañana de hace 5 días? Fácil:</p>
<p><code>$&gt; date -d "06:00:00 3 days ago"<br />
Wed Dec 30 06:00:00 CET 2009</code></p>
<p>Venga, juguemos un poco más!</p>
<p>¿Qué día de la semana fue hace 1 año, 2 meses y 23 días?</p>
<p><code>$&gt; date +%a -d "1 year ago 2 months ago 23 days ago"<br />
Fri</code></p>
<p>¿Es el mismo que hace 449 días?</p>
<p><code>$&gt; date -d "449 days ago"<br />
Fri</code></p>
<p>Pues sí xDD</p>
<p>¿Las 7.30h de la mañana del pasado lunes?</p>
<p><code>$&gt; date -d "07:30:00 last monday"<br />
Mon Dec 28 07:30:00 CET 2009</code></p>
<p>También funciona para fechas futuras.Las 8.00h de la mañana de dentro de dos lunes (cuando se acaban las vacaciones :p):</p>
<p><code>$&gt; date -d "08:00:00 2 monday"<br />
Mon Jan 11 08:00:00 CET 2010</code></p>
<p>¿Qué día de la semana será hoy el año que viene?</p>
<p><code>$&gt; date +%a -d "year 2011"<br />
Sun</code></p>
<p>En fin, ahora es sólo cuestión de echarle imaginación y tirar de manual y de timespec. ¡Ánimo y suerte!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tatai.es/2010/01/02/ir-a-una-fecha-mediante-texto/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
