<?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>TecnoCaos &#187; Terminal</title>
	<atom:link href="http://www.tecnocaos.com/tag/terminal/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tecnocaos.com</link>
	<description></description>
	<lastBuildDate>Wed, 11 May 2011 00:33:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Comandos para redimensionar y modificar la calidad de imágenes PNG</title>
		<link>http://www.tecnocaos.com/comandos-para-redimensionar-y-modificar-la-calidad-de-imagenes-png/</link>
		<comments>http://www.tecnocaos.com/comandos-para-redimensionar-y-modificar-la-calidad-de-imagenes-png/#comments</comments>
		<pubDate>Tue, 14 Dec 2010 02:30:15 +0000</pubDate>
		<dc:creator>Martín Chamarro</dc:creator>
				<category><![CDATA[Aplicación]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[BASH]]></category>
		<category><![CDATA[comandos]]></category>
		<category><![CDATA[compresión]]></category>
		<category><![CDATA[convert]]></category>
		<category><![CDATA[du]]></category>
		<category><![CDATA[filtros]]></category>
		<category><![CDATA[imagemagic]]></category>
		<category><![CDATA[imágenes]]></category>
		<category><![CDATA[PNG]]></category>
		<category><![CDATA[pngcrush]]></category>
		<category><![CDATA[pngnq]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.tecnocaos.com/?p=363</guid>
		<description><![CDATA[Este fin de semana he estado buscando una forma de reducir el tamaño de unas imágenes y su calidad, porque me interesaba hacer una interfaz web ligera para móviles. En los repositorios de Ubuntu he encontrado unas herramientas que no &#8230; <a href="http://www.tecnocaos.com/comandos-para-redimensionar-y-modificar-la-calidad-de-imagenes-png/">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.tecnocaos.com/wp-content/uploads/2010/12/colores.png"><img class="aligncenter size-medium wp-image-364" title="colores" src="http://www.tecnocaos.com/wp-content/uploads/2010/12/colores-300x300.png" alt="" width="300" height="300" /></a>Este fin de semana he estado buscando una forma de reducir el tamaño de unas imágenes y su calidad, porque me interesaba hacer una interfaz web ligera para móviles.</p>
<p>En los repositorios de Ubuntu he encontrado unas herramientas que no están mal y que al poder ser usadas desde linea de comandos, se pueden añadir a scripts<span id="more-363"></span>:</p>
<ul>
<li>El paquete <strong>imagemagic</strong>,  y el comando <strong>convert</strong>. Con este comando se puede cambiar el formato de una imagen, girarla, cambiarla de tamaño&#8230; ¡hasta aplicar efectos! Yo la he usado para redimensionarla de la siguiente manera:</li>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">convert imagen.jpg <span style="color: #660033;">-resize</span> 1024x640 nueva_imagen.jpg</pre></div></div>

<p>Donde 1024&#215;640 son las dimensiones de la imagen resultante, que se guarda en nueva_imagen.jpg</p>
<li>El paquete <strong>pngnq</strong> con el comando de mismo nombre. Utiliza un algoritmo de cuantización de imágenes que permite pasar de un PNG de 32-bits de color a uno de 256 colores o menos. El tamaño que ocupa la imagen se reduce muchísimo, y el resultado suele ser bueno. He llegado a obtener buenos resultados incluso con una paleta de 32 colores. El comando se utiliza así:</li>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">pngnq imagen.png <span style="color: #660033;">-n</span> <span style="color: #000000;">32</span></pre></div></div>

<p>Donde 32 es el número de colores de la paleta y el fichero resultante se llama imagen-nq8.png</p>
<li>El paquete <strong>pngcrush</strong> con el comando de mismo nombre. Es un optimizador de imágenes PNG, que utiliza varios algoritmos de compresión y filtros para reducir el tamaño de los ficheros. Recomiendan su uso combinado con pngnq, y se utiliza así:</li>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">pngcrush <span style="color: #660033;">-rem</span> <span style="color: #660033;">-reduce</span> <span style="color: #660033;">-brute</span> imagen.png nueva_imagen.png</pre></div></div>

<p>En este ejemplo se elimina la información adicional del fichero (-rem), se reduce el tamaño (-reduce) y se prueban por fuerza bruta 114 filtros y compresiones, eligiendo la mejor (-brute)</p>
<p>Con estos comandos podemos hacernos un script sencillo que modifique todas las imágenes de un directorio, con estos comando como:</ul>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
<span style="color: #000000; font-weight: bold;">for</span> imagen <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000; font-weight: bold;">*</span>.png; <span style="color: #000000; font-weight: bold;">do</span>
    convert <span style="color: #007800;">$imagen</span> <span style="color: #660033;">-resize</span> 1000x1000 <span style="color: #007800;">$imagen</span>;
    pngnq <span style="color: #007800;">$imagen</span> <span style="color: #660033;">-n</span> <span style="color: #000000;">256</span>;
    pngcrush <span style="color: #660033;">-rem</span> <span style="color: #660033;">-reduce</span> <span style="color: #660033;">-brute</span> <span style="color: #660033;">-force</span> <span style="color: #800000;">${imagen%.*}</span>-nq8.png <span style="color: #007800;">$imagen</span>;
    <span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-f</span> <span style="color: #800000;">${imagen%.*}</span>-nq8.png;
<span style="color: #000000; font-weight: bold;">done</span>;</pre></div></div>

<p>Y para acabar, un ejemplo con un par de imágenes, la primera antes de aplicar <strong>pngnq</strong> y <strong>pngcrush</strong> como en el script anterior, y la segunda como resultado:</p>
<p><a href="http://www.tecnocaos.com/wp-content/uploads/2010/12/poster1.png"><img class="aligncenter size-medium wp-image-366" title="poster1" src="http://www.tecnocaos.com/wp-content/uploads/2010/12/poster1-215x300.png" alt="" width="215" height="300" /></a></p>
<p><a href="http://www.tecnocaos.com/wp-content/uploads/2010/12/poster2.png"><img class="aligncenter size-medium wp-image-367" title="poster2" src="http://www.tecnocaos.com/wp-content/uploads/2010/12/poster2-215x300.png" alt="" width="215" height="300" /></a></p>
<p>Si aplicamos el comando <strong>du</strong> para comprobar el tamaño en bytes:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">du</span> <span style="color: #660033;">-b</span> poster<span style="color: #000000; font-weight: bold;">*</span>
<span style="color: #000000;">1854398</span>	poster1.png
<span style="color: #000000;">474083</span>	poster2.png</pre></div></div>

<p>Estamos pasando de 1.85MB a 474KB y conservamos las dimensiones(y aunque en la vista previa no se aprecie, las dos tienen transparencias).</p>
<p>Un saludo, y comentad si lo probáis!</p>
<div align="left" style="float:left; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px;"><a name="fb_share" type="button_count" share_url="http://www.tecnocaos.com/comandos-para-redimensionar-y-modificar-la-calidad-de-imagenes-png/"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.tecnocaos.com/comandos-para-redimensionar-y-modificar-la-calidad-de-imagenes-png/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Como borrar aplicaciones nativas en Android</title>
		<link>http://www.tecnocaos.com/como-borrar-aplicaciones-nativas-en-android/</link>
		<comments>http://www.tecnocaos.com/como-borrar-aplicaciones-nativas-en-android/#comments</comments>
		<pubDate>Fri, 19 Nov 2010 02:32:50 +0000</pubDate>
		<dc:creator>Martín Chamarro</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[adb]]></category>
		<category><![CDATA[aplicaciones]]></category>
		<category><![CDATA[better terminal]]></category>
		<category><![CDATA[Better Terminal Emulator]]></category>
		<category><![CDATA[borrar aplicaciones]]></category>
		<category><![CDATA[desinstalar aplicaciones]]></category>
		<category><![CDATA[Nandroid]]></category>
		<category><![CDATA[nativas]]></category>
		<category><![CDATA[remove]]></category>
		<category><![CDATA[root]]></category>
		<category><![CDATA[SDK]]></category>
		<category><![CDATA[SU File Manager & Terminal]]></category>
		<category><![CDATA[SUFBS]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[Terminal Emulator]]></category>

		<guid isPermaLink="false">http://www.tecnocaos.com/?p=345</guid>
		<description><![CDATA[Hoy voy a contar como borrar las aplicaciones que vienen instaladas en la ROM y que no se pueden desinstalar con métodos habituales. A mi por ejemplo, Amazon o la aplicación de Email que viene por defecto no me interesan. &#8230; <a href="http://www.tecnocaos.com/como-borrar-aplicaciones-nativas-en-android/">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.tecnocaos.com/wp-content/uploads/2010/11/gar.jpg"><img class="aligncenter size-medium wp-image-346" title="gar" src="http://www.tecnocaos.com/wp-content/uploads/2010/11/gar-300x230.jpg" alt="" width="300" height="230" /></a>Hoy voy a contar como borrar las aplicaciones que vienen instaladas en la ROM y que no se pueden desinstalar con métodos habituales. A mi por ejemplo, Amazon o la aplicación de Email que viene por defecto no me interesan. He estado investigando varias maneras de hacerlo (creo que sólo aptas para terminales ROOTEADOS):<br />
<span id="more-345"></span></p>
<ol>
<li>Empleando una terminal y desde el propio teléfono, ya sea Better Terminal Emulator (Pro) o Terminal Emulator (esta forma es la que usaba yo):</li>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">su</span> root
<span style="color: #c20cb9; font-weight: bold;">mount</span> <span style="color: #000000; font-weight: bold;">/</span>system <span style="color: #660033;">-o</span> rw,remount <span style="color: #000000; font-weight: bold;">/</span>system
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>system<span style="color: #000000; font-weight: bold;">/</span>app
<span style="color: #c20cb9; font-weight: bold;">rm</span> nombre_apk_aplicacion_a_borrar</pre></div></div>

<p>He encontrado otra manera de re-montar el directorio, supongo que más correcta:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">mount</span> <span style="color: #660033;">-o</span> rw,remount <span style="color: #660033;">-t</span> yaffs2 <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>block<span style="color: #000000; font-weight: bold;">/</span>mtdblock3 <span style="color: #000000; font-weight: bold;">/</span>system</pre></div></div>

<li>Utilizando el ADB, para lo que tendremos que conectar el móvil al ordenador por USB con modo depuración o debug, y desde el directorio tools del SDK de Android hacer lo siguiente:</li>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>adb remount
.<span style="color: #000000; font-weight: bold;">/</span>adb shell
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>system<span style="color: #000000; font-weight: bold;">/</span>app<span style="color: #000000; font-weight: bold;">/</span>
<span style="color: #c20cb9; font-weight: bold;">rm</span> nombre_apk_aplicacion_a_borrar
<span style="color: #c20cb9; font-weight: bold;">sync</span>
<span style="color: #7a0874; font-weight: bold;">exit</span></pre></div></div>

<li>Empleando la aplicación &#8220;<a href="http://www.megaupload.com/?d=4VT5J7EB">SUFBS</a>&#8221; o &#8220;SU File Manager &amp; Terminal&#8221; (la he encontrado con los dos nombres), que permite montar directorios en modo R/W (lectura y escritura), algo necesario para poder eliminar las aplicaciones, y que además cuenta con terminal (más básica que la Better).</li>
</ol>
<ol> <a href="http://www.tecnocaos.com/wp-content/uploads/2010/11/Root-Explorer-File-Manager-on-Rooted-Xperia-X10-best-root-apps-list.png"><img class="aligncenter size-medium wp-image-348" title="Root-Explorer-File-Manager-on-Rooted-Xperia-X10-best-root-apps-list" src="http://www.tecnocaos.com/wp-content/uploads/2010/11/Root-Explorer-File-Manager-on-Rooted-Xperia-X10-best-root-apps-list-200x300.png" alt="" width="200" height="300" /></a></ol>
<p><span style="color: #ff0000;">No me hago responsable de lo que pueda salir mal, probarlo bajo vuestra responsabilidad (y preferiblemente con un backup de Nandroid previo).</span></p>
<p>Comentad, comentad!</p>
<div align="left" style="float:left; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px;"><a name="fb_share" type="button_count" share_url="http://www.tecnocaos.com/como-borrar-aplicaciones-nativas-en-android/"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.tecnocaos.com/como-borrar-aplicaciones-nativas-en-android/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Editando texto en BASH con el comando sed</title>
		<link>http://www.tecnocaos.com/editando-texto-en-bash-con-el-comando-sed/</link>
		<comments>http://www.tecnocaos.com/editando-texto-en-bash-con-el-comando-sed/#comments</comments>
		<pubDate>Wed, 01 Sep 2010 03:18:24 +0000</pubDate>
		<dc:creator>Martín Chamarro</dc:creator>
				<category><![CDATA[Lenguaje]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[bases de datos]]></category>
		<category><![CDATA[BASH]]></category>
		<category><![CDATA[comando]]></category>
		<category><![CDATA[comando sed]]></category>
		<category><![CDATA[modificar cadenas]]></category>
		<category><![CDATA[modificar texto]]></category>
		<category><![CDATA[OVH]]></category>
		<category><![CDATA[patrones]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[script inserciones]]></category>
		<category><![CDATA[sed]]></category>
		<category><![CDATA[sustituir en texto]]></category>
		<category><![CDATA[Terminal]]></category>

		<guid isPermaLink="false">http://www.tecnocaos.com/?p=256</guid>
		<description><![CDATA[Esta tarde he recibido un email de OVH diciendo que me quedaba una semana para que mi alojamiento compartido se terminara. Como a pesar de que me queje (porque un fin de semana sin server es apocalíptico), no me han &#8230; <a href="http://www.tecnocaos.com/editando-texto-en-bash-con-el-comando-sed/">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.tecnocaos.com/wp-content/uploads/2010/09/captura.png"><img class="aligncenter size-medium wp-image-257" title="captura" src="http://www.tecnocaos.com/wp-content/uploads/2010/09/captura-300x233.png" alt="El resultado de escribir man sed en la terminal de Linux" width="300" height="233" /></a></p>
<p>Esta tarde he recibido un email de OVH diciendo que me quedaba una semana para que mi alojamiento compartido se terminara. Como a pesar de que <a href="http://www.tecnocaos.com/problemas-con-ovh/">me queje</a> (porque un fin de semana sin server es apocalíptico), no me han dado muchos problemas este año, he decidido renovar con ellos, cambiando mi antiguo &#8220;plan90&#8243; (ahora ya no existe con ese nombre) por otro &#8220;profesional&#8221; que me venía mucho mejor (necesitaba una buena BD MySQL, bastante espacio y mucho tráfico mensual) y portando todo al nuevo servidor.<br />
<span id="more-256"></span></p>
<p>El caso es que la base de datos de nuestra aplicación &#8220;estrella&#8221; de Facebook es bastante inmanejable para un PHPMyAdmin, son 117 MB de backup. En una supertabla con millones de entradas teníamos un par de campos que no se usaban, y que ocupaban una burrada, no por su longitud sino por el número de instancias. Después de tratar unas cuantas veces de borrarlos por SSH, usando el comando &#8220;mysql&#8221;, y desde la interfaz web sin resultados me he puesto a buscar la mejor manera de modificar el script de backup.</p>
<p>Resulta que teníamos varios millones de inserciones del estilo <em>&#8220;INSERT INTO usuario VALUES (&#8217;121900349302&#8242;, 13, 44, 27);&#8221;</em>, donde los dos últimos número sobraban porque eran los valores de los campos que no quería usar más. El primero de los dos podía recibir un NULL, y el segundo valores negativos. Y aquí entra &#8220;<strong>sed</strong>&#8220;:</p>
<p>El comando sigue la estructura &#8220;sed [opciones] instrucciones [fichero]&#8220;. Si no se especifica un fichero lee de la entrada estándar (así que se le pueden pasar valores con un pipeline | ). Las instrucciones deben ir entre comillas simples, para que el comando no trate de explotar símbolos como * o $. Si son de sustitución deben empezar por <strong>s</strong> y seguir este formato: <strong>&#8216;s/VIEJA/NUEVA/&#8217;</strong><br />
Por ejemplo:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">    <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Vivo en: C/ Fuencarral&quot;</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #ff0000;">'s/C\//la calle/'</span></pre></div></div>

<p>Daría como resultado:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">    Vivo en: la calle Fuencarral</pre></div></div>

<p>Como podéis ver he escapado la barra / con otra barra inversa delante \. VIEJA acepta patrones (otro día hablare de ellos), y el &#8220;juego de metacaracteres extendido&#8221; (para poder usar patrones con: *, ?, +, [ - ], {,}, etc) si usamos la opción <strong>-E</strong>, por ejemplo:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">    <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Vivo en: C/ Fuencarral&quot;</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-E</span> <span style="color: #ff0000;">'s/[a-zA-Z]{5,10}/Gran Vía/g'</span></pre></div></div>

<p>Tiene por salida:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">    Vivo en: C<span style="color: #000000; font-weight: bold;">/</span> Gran Vía</pre></div></div>

<p>En el ejemplo le he dicho que sustituya todas las cadenas formadas por letras mayúsculas o minúsculas de entre 5 y 10 caracteres por &#8220;Gran Vía&#8221;, por lo que ha sustituido &#8220;Fuencarral&#8221;. He añadido además una <strong>g</strong> después de la última barra, que significa que no se pare en la primera que encuentre, que sustituya hasta el final.</p>
<p>Es posible también aplicar varias instrucciones seguidas separadas por punto y coma, de esta forma:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">    <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #ff0000;">'s/a/A; s/b/B'</span> fichero_a_modificar.txt</pre></div></div>

<p>o separándolas con la opción <strong>-e</strong>:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">    <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">'s/a/A'</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">'s/b/B'</span> fichero_a_modificar.txt</pre></div></div>

<p>También es posible que decirle que coja las instrucciones de un fichero con la opción <strong>-f</strong> seguida del nombre:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">    <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-f</span> reglas.sed fichero_a_modificar.txt</pre></div></div>

<p>Y evitar que muestre el resultado por pantalla con <strong>-n</strong>:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">    <span style="color: #c20cb9; font-weight: bold;">sed</span>  <span style="color: #660033;">-n</span> <span style="color: #ff0000;">'s/b/B'</span> fichero_a_modificar.txt</pre></div></div>

<p>Mi problema con las tablas se ha solucionado con:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">    <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-E</span> <span style="color: #ff0000;">'s/, (NULL|[0-9]+), -?[0-9]+\)/)/g'</span> backup.sql <span style="color: #000000; font-weight: bold;">&gt;</span> backup_limpio.sql</pre></div></div>

<p>Que sobre un fichero que contenga:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">    INSERT INTO usuario VALUES <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #ff0000;">'121900349302'</span>, <span style="color: #000000;">13</span>, NULL, -<span style="color: #000000;">27</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>;
    INSERT INTO usuario VALUES <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #ff0000;">'121900349303'</span>, <span style="color: #000000;">13</span>, <span style="color: #000000;">43</span>, <span style="color: #000000;">37</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>;
    INSERT INTO usuario VALUES <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #ff0000;">'121900349304'</span>, <span style="color: #000000;">13</span>, NULL, -<span style="color: #000000;">18</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>;
    INSERT INTO usuario VALUES <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #ff0000;">'121900349305'</span>, <span style="color: #000000;">13</span>, <span style="color: #000000;">45</span>, <span style="color: #000000;">9</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>;</pre></div></div>

<p>Obtiene:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">    INSERT INTO usuario VALUES <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #ff0000;">'121900349302'</span>, <span style="color: #000000;">13</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>;
    INSERT INTO usuario VALUES <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #ff0000;">'121900349303'</span>, <span style="color: #000000;">13</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>;
    INSERT INTO usuario VALUES <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #ff0000;">'121900349304'</span>, <span style="color: #000000;">13</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>;
    INSERT INTO usuario VALUES <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #ff0000;">'121900349305'</span>, <span style="color: #000000;">13</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>;</pre></div></div>

<p>¡Si alguien encuentra algo interesante sobre &#8220;sed&#8221; o patrones que lo comente!</p>
<div align="left" style="float:left; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px;"><a name="fb_share" type="button_count" share_url="http://www.tecnocaos.com/editando-texto-en-bash-con-el-comando-sed/"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.tecnocaos.com/editando-texto-en-bash-con-el-comando-sed/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Comandos al arrancar la terminal en Mac OS</title>
		<link>http://www.tecnocaos.com/comandos-al-arrancar-la-terminal-de-mac-os/</link>
		<comments>http://www.tecnocaos.com/comandos-al-arrancar-la-terminal-de-mac-os/#comments</comments>
		<pubDate>Tue, 17 Aug 2010 00:56:34 +0000</pubDate>
		<dc:creator>Martín Chamarro</dc:creator>
				<category><![CDATA[Mac OS]]></category>
		<category><![CDATA[.bashrc]]></category>
		<category><![CDATA[.bash_profile]]></category>
		<category><![CDATA[alias]]></category>
		<category><![CDATA[arranque terminal]]></category>
		<category><![CDATA[comandos]]></category>
		<category><![CDATA[SSH]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.tecnocaos.com/?p=52</guid>
		<description><![CDATA[Hace tiempo descubrí que al igual que en Ubuntu puedes configurar comandos al arranque de la terminal editando el fichero .bashrc, en Mac OS se puede hacer algo similar. Para ello sólo tenemos que crearnos, en caso de que no exista &#8230; <a href="http://www.tecnocaos.com/comandos-al-arrancar-la-terminal-de-mac-os/">Sigue leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.tecnocaos.com/wp-content/uploads/2010/08/Captura-de-pantalla-2010-08-16-a-las-18.29.28.png"><img class="aligncenter size-full wp-image-53" title="Captura de pantalla 2010-08-16 a las 18.29.28" src="http://www.tecnocaos.com/wp-content/uploads/2010/08/Captura-de-pantalla-2010-08-16-a-las-18.29.28.png" alt="" width="187" height="181" /></a>Hace tiempo descubrí que al igual que en Ubuntu puedes configurar comandos al arranque de la terminal editando el fichero <em>.bashrc</em>, en Mac OS se puede hacer algo similar. Para ello sólo tenemos que crearnos, en caso de que no exista ya, el fichero .<em>bash_profile </em>en nuestro directorio de usuario o <em>home</em>.</p>
<p><span id="more-52"></span>Hay que recordar que los ficheros que tienen un nombre que empieza por &#8220;.&#8221; son ficheros ocultos, no se pueden ver desde el Finder (a no ser que tengáis esa opción habilitada, para lo cual podéis emplear programas como <a href="http://secrets.blacktree.com/">Secrets</a>), y que desde la terminal sólo se ven empleando un &#8220;<em>ls -a</em>&#8220;. Una vez hayáis creado el fichero sólo tenéis que editarlo añadiendo comandos que sean útiles al arranque de la terminal.</p>
<p>Yo lo uso principalmente con el comando alias, que permite renombrar otros comando o poner nombre a una sucesión de comandos y parámetros. Creo que el alias es más útil incluso en Mac OS que en Ubuntu porque hay más programas que no pueden ser lanzados directamente desde la terminal y para los que tienes que buscar una ruta a su ejecutable.</p>
<p>Un ejemplo de esto es el MySQL, que tras instalarlo tiene su ejecutable en &#8220;<em>/usr/local/mysql/bin/mysql</em>&#8220;. Si queremos que al arrancar la terminal, se pueda ejecutar escribiendo <em>mysql</em>, podemos añadir al fichero:</p>
<blockquote><p>alias mysql=/usr/local/mysql/bin/mysql;</p></blockquote>
<p>Otro uso que le doy a este comando es el de hacer más accesibles los accesos a servidores por SSH. Por ejemplo, si quiero iniciar una conexión con el <em>serverexample</em> puedo escribir lo siguiente:</p>
<blockquote><p>alias miserver=&#8217;ssh miusuario@serverexample&#8217;;</p></blockquote>
<p>Con esto la próxima vez que queramos acceder por SSH sólo tenemos que escribir su nombre, <em>miserver</em>, en la terminal (ni siquiera el password si configuras la conexión con un par de claves pública y privada, pero ese es otro tema).</p>
<p>Espero que os sea útil, si le encontráis más usos dejar un comentario&#8230;</p>
<div align="left" style="float:left; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px;"><a name="fb_share" type="button_count" share_url="http://www.tecnocaos.com/comandos-al-arrancar-la-terminal-de-mac-os/"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.tecnocaos.com/comandos-al-arrancar-la-terminal-de-mac-os/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

