sábado, 9 de abril de 2011

Script de descarga de videos en Bash

0 comentarios
Qué tal amigos!

Pues primero que nada, mil disculpas por no haber publicado nada en este tiempo, me encontraba en proceso de desarrollo y he aquí yo para compartirles nuevos temas.

Investigando un poco sobre cómo descargar videos de youtube o de alguna otra fuente, descifré la forma de  lograrlo a través de terminal. A partir de ello me puse en la tarea de elaborar un script de bash para  llevarlo a cabo.

Antes de ejecutar el script, es necesario que se tenga abierta la pagina de donde esta el video y esperar a que se cargue por completo, de otra forma sólo se descargará lo que actualmente se haya cargado.

Realizado lo anterior, asta con abrir una terminal y ejecutar: sh nombre_archivo.sh, seguir las instrucciones y listo!

El código es el siguiente:


#!/bin/bash
clear

while [ opc != "" ] || [ opc != "c" ] || [ opc != "i" ]

do
echo "** Descarga de videos ** Hecho por  Alexis Hernandez \n"
echo -n "Escriba 'i' para obtener informacion o 'c' para continuar: "
read opc


if [ "$opc" = "i" ]; then
echo "\n- Se ejecutara el comando lsof | grep Flash para buscar los procesos que esten utilizando Flash."
echo "- Dicho proceso durara un tiempo considerable, sea paciente."
echo "- Se arrojara un mensaje como en el siguiente ejemplo:"

echo "\nchrome    2205     user   29r      REG        8,4 14337439     655373 /tmp/FlashXXg7HIFi (deleted)
"
echo "\n - Dado este dato se debe proprionar a est aplicacion el numero de 4 digitos (el segundo parametro) y el numero que se encuentra despues del nombre de usuario (el cuarto parametro sin la letra final 'r')"

echo -n "\n> Presione [ENTER] para continuar"
read l

echo "\nEjecutando comando, esto tardara varios minutos..."

lsof | grep Flash

echo -n "Escriba el numero segundo parametro dado: "
read segundo
echo -n "Escriba el cuarto parametro dado (sin la letra final): "
read cuarto
echo -n "Escriba la ruta (y nombre de archivo) donde desea copiar el video: "
read directory

cp /proc/$segundo/fd/$cuarto $directory
echo "Archivo copiado correctamente"

elif [ "$opc" = "c" ]; then
echo "\nEjecutando comando, esto tardara varios minutos..."
lsof | grep Flash
echo -n "Escriba el numero segundo parametro dado: "
read segundo
echo -n "Escriba el cuarto parametro dado: "
read cuarto
echo -n "Escriba la ruta (y nombre de archivo) donde desea copiar el video: "
read directory
cp /proc/$segundo/fd/$cuarto $directory
echo "Archivo copiado correctamente"
  exit
else
echo "Opcion incorrecta, vuelva a intentar, presione [ENTER] para continuar"
read x
clear
fi
done