Short URLs from bash

A days ago, I was reconciled with Identi.ca’s XMMP bot since I’m using Mcabber (a command line client for Jabber).
So, I need to short URLs to post in it but I didn’t using anymore Gwibber. And bash scripts are here!

The first command, if you want simplicity, is with w3m browser:

w3m -dump http://is.gd/api.php?longurl=%5Bput_the_long_url%5D

And, my favorite because is Software Libre, was made by Franco:

#!/usr/bin/env bash
# command line url-shorten
# by using ur1.ca
# $User Aug 2009

if [ -z $1 ]; then
echo “Write the URL to short it”
read URL
LONG = $URL
else
LONG = $1
fi

UR1 = ‘http://ur1.ca’

/usr/bin/env curl -s $UR1 -d”longurl=$LONG”|sed -e ‘/Your ur1/!d;s: *::g;s:<[^>]*>::g;s:^.Yourur1is\:h:h:;’

Anuncios

10 Responses to Short URLs from bash

  1. Franco says:

    Estaba revisando el script y me di cuenta que puede hacerse más entendible el filtro si no lo filtramos todo por la expresión regular. Y en cambio usamos cut, quedando así la última línea.

    curl -s –url http://ur1.ca/ -d longurl=”$LONGURL” | sed -n -e ‘/Your ur1/!d;s/]*>//g;p’ | cut -d: -f2,3

  2. Franco says:

    curl -s --url http://ur1.ca/ -d longurl='")
    (setq filter "' | sed -n -e '/Your ur1/!d;s/]*>//g;p' | cut -d: -f2,3

  3. Franco says:

    Poots, fuck’n fingers+wp, aver sí ahora sí queda bien el código:

    curl -s --url http://ur1.ca/ -d longurl='$LONGURL"' | sed -n -e '/Your ur1/!d;s/]*>//g;p' | cut -d: -f2,3

  4. vando says:

    Ahora pruebo che :)

  5. vando says:

    No sale nada…

  6. Franco says:

    Chale, estoy todo forever, espero que ahora sí quede claro el código:

    curl -s --url http://ur1.ca/ -d longurl="$LONG" | sed -n -e '/Your ur1/!d;s/<[^>]*>//g;p' | cut -d: -f2,3

    La idea es esta:

    * sed ya no hace todo el filtro, sólo escoger la línea donde está la ur1 acortada y;
    * eliminar las etiquetas, con lo que nos queda sólo la frase Your ur1 is: [http:url];
    * cut toma como delimitador de campos el ‘:’ y le pedimos el 2° y 3°, que son http y la url en sí.

    Finalmente, supongo que con awk sería una sóla expresión, en lugar de 2 de sed y otra de cut, pero no sé ese lenguaje, a lo mejor alguien más podría hacer el aporte.

    Saludos.

  7. vando says:

    [facundo@aiferricorti ~]$ ur1 http://identi.ca/vando
    <a href="http://ur1.ca/nkxx">http

  8. vando says:

    This script was updated:


    #!/usr/bin/env bash
    # command line url-shorten
    # by using ur1.ca
    # $User Feb 2010

    if [ -z $1 ]; then
    echo “Write the URL to short it”
    read URL
    LONG = $URL
    else
    LONG = $1
    fi

    curl -s --url http://ur1.ca/ -d longurl="$LONG" | sed -n -e '/Your ur1/!d;s/]*>//g;p' | cut -d: -f2,3

  9. clark says:

    great article, thanks for sharing.

  10. Pingback: Script para utilizar ur1.ca como acortador de url « Electronic Technician

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: