Aug 18 2008

Automatizar la descarga de enlaces que cumplan patrón

Published by admin at 11:54 am under Bash, SysAdmin, Utilidades

Quiero descargar todos los enlaces de la página http://packages.medibuntu.org/pool/non-free/f/ffmpeg-debian/ que contengan i386 en el nombre. Por supuesto, de forma automática (si repites más de 2 veces el mismo gesto, y crees que en el futuro lo volverás a hacer, hay que automatizar):

juanan@morton:/tmp/fmpeg$ lynx -nonumbers  -dump http://packages.medibuntu.org/pool/non-free/f/ffmpeg-debian/| grep i386  | sed -e ’s/^ *//’  | awk ‘{print $3}’ | wget -B “http://packages.medibuntu.org/pool/non-free/f/ffmpeg-debian/” -i -

lynx: navegador en modo texto

-dump : interpretar el HTML de la página y devolverlo por salida estándar

-nonumbers: mostrar los enlaces sin numerar

sed -e ’s/^ *//’  : left trim  (recortar espacios en blanco, por la izquierda)

awk ‘{print $3}’ : quedarme con la tercera columna

wget -B URL   : URL base desde la que descargar

-i  -  : -i indica que le vamos a pasar un fichero a wget con las URLs de lo que queremos descargar. Como el filtro ya lo hemos hecho, y lo hemos enganchado a wget por un pipe, el fichero en sí no existe, sino que llega por tanto por entrada estándar (a través del pipe). Receta que usaré en más de una ocasión.

One Response to “Automatizar la descarga de enlaces que cumplan patrón”

  1. Downloaderon 22 Aug 2008 at 12:22 am

    Aunque interesante la combinación de lynx y wget para descargar los enlaces que se encuentran en el html obtenido con el primero, este tipo de tareas prefiero delegarlas en una herramienta que me permita indicar qué ficheros descargar gráficamente.

    Un saludo compañeros

Trackback URI | Comments RSS

Leave a Reply

« Back to text comment