<?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>alvarezp &#187; script</title>
	<atom:link href="http://blog.alvarezp.org/tag/script/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.alvarezp.org</link>
	<description>cat &#62;&#62; /dev/blog</description>
	<lastBuildDate>Sat, 14 Aug 2010 18:28:48 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Gemelos</title>
		<link>http://blog.alvarezp.org/2007/07/18/gemelos/</link>
		<comments>http://blog.alvarezp.org/2007/07/18/gemelos/#comments</comments>
		<pubDate>Thu, 19 Jul 2007 00:09:49 +0000</pubDate>
		<dc:creator>alvarezp</dc:creator>
				<category><![CDATA[Código]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Planet Gultij]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[duplicados]]></category>
		<category><![CDATA[gemelos]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://alvarezp.ods.org/blog/2007/07/18/gemelos/</guid>
		<description><![CDATA[Este script encuentra archivos que tenga el mismo contenido.
Para este script, dos archivos son duplicados uno de otro si su tamaño y su firma MD5 coinciden.
Se le puede pasar la opción &#8220;-v&#8221; para ver qué está haciendo el script en ese momento.
Nombre del archivo: &#8220;bin/gemelos&#8221;.

#!/bin/bash

if [ "$1" == "-h" ]; then
     [...]]]></description>
			<content:encoded><![CDATA[<p>Este script encuentra archivos que tenga el mismo contenido.</p>
<p>Para este script, dos archivos son duplicados uno de otro si su tamaño y su firma MD5 coinciden.</p>
<p>Se le puede pasar la opción &#8220;-v&#8221; para ver qué está haciendo el script en ese momento.</p>
<p>Nombre del archivo: &#8220;bin/gemelos&#8221;.</p>
<p><span id="more-105"></span></p>
<pre class="code"><code>#!/bin/bash

if [ "$1" == "-h" ]; then
        echo usage: $0 [-v]
        exit
fi

OUTPUT_FILE=/dev/null

if [ "$1" == "-v" ]; then
        OUTPUT_FILE=/dev/stderr
fi

echo Obteniendo lista de archivos... > $OUTPUT_FILE

IFS=
find -type f -printf "%13s %p\n" | sort -gr | uniq -w 13 -D | while read T; do
        echo Calculando MD5 para ${T:14}... > $OUTPUT_FILE
        printf "%s %s\n" ${T:1:12} `md5sum ${T:14}`;
done | sort -g | uniq -w 45 --all-repeated=separate
</code></pre>
<p>Ejemplo de la salida:</p>
<pre class="code"><code>alvarezp@octavio:~/non-iso$ ~/bin/gemelos
      358085 5d5c22e4ce586feadefd285ca81350db  ./otra-de-windows/plain-backup/omf/fightr0.af
      358085 5d5c22e4ce586feadefd285ca81350db  ./otra-de-windows/plain-backup/omf/fightr0.afb

      435969 0fcd29b249c145bab33f24c8341dd0a3  ./otra-de-windows/nvidia/Win2KXP/71.84/setup.ibt
      435969 0fcd29b249c145bab33f24c8341dd0a3  ./otra-de-windows/nvidia/Win2KXP/71.89/setup.ibt

      439296 933b377b2ce2f93c0df3bc99a1a45542  ./otra-de-windows/plain-backup/john/run/cygwin1.dll
      439296 933b377b2ce2f93c0df3bc99a1a45542  ./otra-de-windows/plain-backup/john/run/johns/386/cygwin1.dll
      439296 933b377b2ce2f93c0df3bc99a1a45542  ./otra-de-windows/plain-backup/john/run/johns/k6/cygwin1.dll
      439296 933b377b2ce2f93c0df3bc99a1a45542  ./otra-de-windows/plain-backup/john/run/johns/mmx/cygwin1.dll

      459544 de89c44f15d1bfbcca26778af838f720  ./otra-de-windows/nvidia/Win2KXP/71.84/engine32.cab
      459544 de89c44f15d1bfbcca26778af838f720  ./otra-de-windows/nvidia/Win2KXP/71.89/engine32.cab
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.alvarezp.org/2007/07/18/gemelos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>¿Cuál es mi IP?</title>
		<link>http://blog.alvarezp.org/2007/06/30/%c2%bfcual-es-mi-ip/</link>
		<comments>http://blog.alvarezp.org/2007/06/30/%c2%bfcual-es-mi-ip/#comments</comments>
		<pubDate>Sat, 30 Jun 2007 23:47:22 +0000</pubDate>
		<dc:creator>alvarezp</dc:creator>
				<category><![CDATA[Computación]]></category>
		<category><![CDATA[Código]]></category>
		<category><![CDATA[Net-admin]]></category>
		<category><![CDATA[Planet Gultij]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[ip]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[whatismyip]]></category>

		<guid isPermaLink="false">http://alvarezp.ods.org/blog/2007/06/30/%c2%bfcual-es-mi-ip/</guid>
		<description><![CDATA[El siguiente microscript usa el sitio whatismyip.com para obtener la dirección IP con la que realmente estás saliendo a Internet.
En realidad, lo único que hace whatismyip.com es tomar el valor de la IP que se está conectando a su sitio durante esa conexión en específico, por lo que si sales a través de un PAT [...]]]></description>
			<content:encoded><![CDATA[<p>El siguiente microscript usa el sitio whatismyip.com para obtener la dirección IP con la que realmente estás saliendo a Internet.</p>
<p>En realidad, lo único que hace whatismyip.com es tomar el valor de la IP que se está conectando a su sitio durante esa conexión en específico, por lo que si sales a través de un PAT de varias direcciones públicas, su utilidad se reduce al mínimo.</p>
<p>Nombre de archivo: &#8220;bin/whatismyip&#8221;.</p>
<p><span id="more-103"></span></p>
<pre class="code"><code>#!/bin/bash

wget http://whatismyip.com/ -O - -q | grep "&lt;TITLE>" | cut -b 25- | cut -d\&lt; -f1
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.alvarezp.org/2007/06/30/%c2%bfcual-es-mi-ip/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Transformador de direcciones MAC</title>
		<link>http://blog.alvarezp.org/2007/06/25/transformador-de-direcciones-mac/</link>
		<comments>http://blog.alvarezp.org/2007/06/25/transformador-de-direcciones-mac/#comments</comments>
		<pubDate>Tue, 26 Jun 2007 05:47:27 +0000</pubDate>
		<dc:creator>alvarezp</dc:creator>
				<category><![CDATA[Computación]]></category>
		<category><![CDATA[Código]]></category>
		<category><![CDATA[Planet Gultij]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[mac-trans]]></category>
		<category><![CDATA[redes]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://alvarezp.ods.org/blog/2007/06/25/transformador-de-direcciones-mac/</guid>
		<description><![CDATA[Por si le resulta útil a alguien más.
Nombre de archivo: &#8220;bin/mac-trans.sh&#8221;.

#!/bin/sh

#Autor: Octavio Alvarez, alvarezp@alvarezp.ods.org.
#License: GPLv2.

if [ $# -ne 2 ]; then
	echo
	echo "usage: $0 output-format mac-string"
	echo
	echo "output-format is one of the following:"
	echo "  -c  Cisco form  : 0123.4567.89ab"
	echo "  -l  Linux form  : 01-23-45-67-89-AB"
	echo "  -w  Windows form: [...]]]></description>
			<content:encoded><![CDATA[<p>Por si le resulta útil a alguien más.</p>
<p>Nombre de archivo: &#8220;bin/mac-trans.sh&#8221;.</p>
<p><span id="more-101"></span></p>
<pre class="code"><code>#!/bin/sh

#Autor: Octavio Alvarez, alvarezp@alvarezp.ods.org.
#License: GPLv2.

if [ $# -ne 2 ]; then
	echo
	echo "usage: $0 output-format mac-string"
	echo
	echo "output-format is one of the following:"
	echo "  -c  Cisco form  : 0123.4567.89ab"
	echo "  -l  Linux form  : 01-23-45-67-89-AB"
	echo "  -w  Windows form: 01:23:45:67:89:AB"
	echo "  -p  Plain lower : 0123456789ab"
	echo "  -P  Plain upper : 0123456789AB"
	echo
	echo "If the mac-string is not recognized, it is left unchanged."
	echo
	echo "Example: $0 -c 01-23-45-67-89-AB   # Output is 0123.4567.89ab"
	exit
fi

SEP='-.:'

while getopts "clwpP" OPT; do
	case $OPT in
	c)	FORM='\1\2.\3\4.\5\6'
		CASE='y/ABCDEF/abcdef/'
		;;
	l)	FORM='\1-\2-\3-\4-\5-\6'
		CASE='y/abcdef/ABCDEF/'
		;;
	w)	FORM='\1:\2:\3:\4:\5:\6'
		CASE='y/abcdef/ABCDEF/'
		;;
	p)	FORM='\1\2\3\4\5\6'
		CASE='y/ABCDEF/abcdef/'
		;;
	P)	FORM='\1\2\3\4\5\6'
		CASE='y/abcdef/ABCDEF/'
		;;
	esac
done

shift $(($OPTIND-1))

BYTE='([0-9A-Fa-f]{2})'

MAC_REGEX=$BYTE[$SEP]?$BYTE[$SEP]?$BYTE[$SEP]?$BYTE[$SEP]?$BYTE[$SEP]?$BYTE

echo $1 | sed -re "s/$MAC_REGEX/$FORM/; $CASE"
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.alvarezp.org/2007/06/25/transformador-de-direcciones-mac/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
