Mini Gestor de Descargas Casero

Es sábado, es 30 de octubre y como esta de moda eso que pega fuerte en estas fechas, me dio por bajar una película acorde a las fechas: “Trick n’ Treat”, la encontré en MegaUpload😉

Buscando un gestor, llegué a Tucan. La cosa es que corre en GTK y…  no me llevo bien con ellos. Recordé que en Windows usaba jDownloader peeeeero, correr java tampoco me gusta mucho (si, lo se ¬¬ Pero el hecho de que programes en un lenguaje no te hace necesariamente un fan de él).

Días atrás tuve que utilizar wget en la U, porque los babosos instalaron TrendMicro y archivo que descargues pasa por un “filtro” o algo que no deja descargar nada porque la página se cae; entonces me dio por usar wget para descargar los 4 pedazos de la película. Sigan leyendo para ver el código en Bash 8O 

De paso, les puede servir para aprender o algo… ya que tengo pasos de más solamente para “ver como se hacía” algo🙂

Y el famoso código es ésto:

#! /bin/bash

declare -i IND=1
for i in $(cat links.txt); do
  ARRAY[$IND]=$i
  IND+=1
done

for i in "${ARRAY[@]}" ; do
  wget $i
done

Entonces, vamos por parte:

  1. Le decimos qué es lo que esta viendo.
  2. declaramos la variable IND como Integer (es un decir… solo acepta números) y la iniciamos en 1.
  3. Mediante un ciclo for each en un archivo .txt recogimos cada link en la variable i
  4. Generamos un Array llamado ARRAY (😯 xD) y guardamos i
  5. Aumentamos el valor de IND en 1 y terminamos el ciclo.
  6. Salimos del ciclo y entramos a otro😀 (el primero solo fue para llenar ARRAY, ésta vez vamos a guardar cada casilla de ARRAY en i.
  7. Ejecutamos wget y le damos el parámetro i, que contiene la URL del archivo a descargar.

Eso es todo😀
Por  último, crean el archivo links.txt y en él guardan las direcciones. Por cada línea una dirección. Si la dirección tiene un espacio en blanco, la reemplazan por %20 (si la dejan con un espacio, wget la toma como otra url distinta).

Genial no? Pueden jugar tanto como quieran y crear algo más robusto, es cosa de ustedes.

P.D. el archivo links.txt tiene que estar en la misma ubicación que el ejecutable.  Si no, escriben la ruta correcta: for i in $(cat /home/usuario/carpeta/links.txt); do

Acerca de MaritoCares

Ingeniero Informático. Con tendencias a la programación en [C#, VB].NET, Java(Web principalmente...), PHP, JavaScript, algo mínimo de [ruby, python], y el clásico C.
Esta entrada fue publicada en Bash, Fedora, Tips. Guarda el enlace permanente.

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