Ups!, a quién se le habrá ocurrido ese trítulo tan poco apropiado XD... Os voy a dejar aquí el primer programilla estúpido que he hecho para Shell XD. Espero que la gente no se ría de mi XD, porque soy consciente de que, pese a lo útil que puede llegar a ser XD, es una gran chorrada de bucle XD.
El programa resuelve el frecuente problema (para algunos más que para otros XD) de bajar una serie de archivos con una estructura parecida de Internet. Supongamos, por ejemplo, que nos tenemos que bajar unos archivos de clase con la estructura:
http://www.direccionfalsa.com/123/electrodinamica/trabajo2.pdf
http://www.direccionfalsa.com/123/electrodinamica/trabajo3.pdf
http://www.direccionfalsa.com/123/electrodinamica/trabajo4.pdf
...
http://www.direccionfalsa.com/123/electrodinamica/trabajo7.pdf
http://www.direccionfalsa.com/123/electrodinamica/trabajo3.pdf
http://www.direccionfalsa.com/123/electrodinamica/trabajo4.pdf
...
http://www.direccionfalsa.com/123/electrodinamica/trabajo7.pdf
Pues desde linux, deberíamos copiar el programilla que pegaré a continuación en la carpeta donde deseemos descargarlos y teclear desde consola (situados en dicha carpeta):
sh BP www.direccionfalsa.com/123/electrodinamica/trabajo 2 7 pdf
Evidentemente, esto sale más rentable contra mayor sea el número de archivos que deseemos descargar de Internet.
El programa (que es casi una aplicación directa del wget y el bucle for) es el siguiente:
#!/bin/sh
#Este programa intentará bajar de manera inteligente
#archivos cuya dirección corresponda a la estructura:
# http://"dirección""Número"."extensión"; con "Número" entre "desde" y "hasta".
#
#Sintaxis:
# sh BP "dirección" "desde" "hasta" "extensión"
echo ""
echo Bajando archivos .$4 desde el $2 al $3 de la fuente $1.
echo ""
for i in $(seq -w $2 $3); do
wget http://$1$i.$4
done
Para utilizar el programa sólo debéis crear un documento nuevo (yo lo edito con el gedit, pero puede ser con cualquier programa tipo Bloc de Notas) y copiar el texto que os he dejado. Después debéis darle permisos de ejecución.
Si ponemos:
El programa nos bajará las fotos:
Nótese que no se bajarán las fotos de la forma:
Para estos casos, deberemos bajarlas por tramos, por ejemplo, si quisiéramos bajar los documentos:
Deberíamos teclear:
Espero que os sean útiles estas chorradas XD!
Algunos enlaces en los que me he basado para hacer esta mierdecilla de programa son:
Y seguir las instrucciones.
Código de la versión 2.0:
#!/bin/sh
#Este programa intentará bajar de manera inteligente
#archivos cuya dirección corresponda a la estructura:
# http://"dirección""Número"."extensión"; con "Número" entre "desde" y "hasta".
echo "¡Bienvenido al programa más cutre jamás creado para bajar cosas con estructura bien definida!"
echo ""
echo "Introduzca la dirección sin el http:// y hasta donde empiece la numeración de lo que quiera descargar:"
read d
echo "Introduzca el número desde el cual hay que empezar a descargar:"
read n
echo "Introduzca el número hasta el cual hay que descargar:"
read s
echo "Introduzca la extensión de los archivos sin el punto:"
read e
echo ""
echo Bajando archivos .$e desde el $n al $s de la fuente $d.
echo ""
for i in $(seq -w $n $s); do
wget http://$d$i.$e
done
El programa (que es casi una aplicación directa del wget y el bucle for) es el siguiente:
#!/bin/sh
#Este programa intentará bajar de manera inteligente
#archivos cuya dirección corresponda a la estructura:
# http://"dirección""Número"."extensión"; con "Número" entre "desde" y "hasta".
#
#Sintaxis:
# sh BP "dirección" "desde" "hasta" "extensión"
echo ""
echo Bajando archivos .$4 desde el $2 al $3 de la fuente $1.
echo ""
for i in $(seq -w $2 $3); do
wget http://$1$i.$4
done
Para utilizar el programa sólo debéis crear un documento nuevo (yo lo edito con el gedit, pero puede ser con cualquier programa tipo Bloc de Notas) y copiar el texto que os he dejado. Después debéis darle permisos de ejecución.
Si ponemos:
sh BP dire 4 99 jpg
El programa nos bajará las fotos:
http://dire04.jpg
...
http://dire99.jpg
...
http://dire99.jpg
Nótese que no se bajarán las fotos de la forma:
http://dire4.jpg
Para estos casos, deberemos bajarlas por tramos, por ejemplo, si quisiéramos bajar los documentos:
http://dire/D1.doc
http://dire/D2.doc
...
http://dire/D99.doc
http://dire/D2.doc
...
http://dire/D99.doc
Deberíamos teclear:
sh BP dire/D 1 9 doc
sh BP dire/D 10 99 doc
sh BP dire/D 10 99 doc
Espero que os sean útiles estas chorradas XD!
Algunos enlaces en los que me he basado para hacer esta mierdecilla de programa son:
- http://www.demiurgo.org/doc/shell/shell.html
- http://www.esdebian.org/forum/print.php?id=80665&forum=23
sh BP2
Y seguir las instrucciones.
Código de la versión 2.0:
#!/bin/sh
#Este programa intentará bajar de manera inteligente
#archivos cuya dirección corresponda a la estructura:
# http://"dirección""Número"."extensión"; con "Número" entre "desde" y "hasta".
echo "¡Bienvenido al programa más cutre jamás creado para bajar cosas con estructura bien definida!"
echo ""
echo "Introduzca la dirección sin el http:// y hasta donde empiece la numeración de lo que quiera descargar:"
read d
echo "Introduzca el número desde el cual hay que empezar a descargar:"
read n
echo "Introduzca el número hasta el cual hay que descargar:"
read s
echo "Introduzca la extensión de los archivos sin el punto:"
read e
echo ""
echo Bajando archivos .$e desde el $n al $s de la fuente $d.
echo ""
for i in $(seq -w $n $s); do
wget http://$d$i.$e
done
No hay comentarios:
Publicar un comentario
Querido astarothista!,
Si te ha gustado la entrada y quieres dejar constancia de ello, tienes alguna sugerencia para completarla o corregirla, quieres mostrar tu opinión respecto a algo de lo que se haya hablado en esta entrada (con respeto) o simplemente quieres dejarme un mensaje a mi o a la comunidad, no dudes en comentar ;)!
Recuerda que también estamos en Facebook y en Google+.