files - install curl ubuntu
Uso de comodines en la consulta wget o curl (3)
Aunque la solución anterior funciona, falla cuando solo desea descargar ciertos directorios, pero no todos. Por ejemplo, si tienes:
http://site.io/like/
http://site.io/like2/
http://site.io/nolike/
En su lugar, ponga los nombres de directorio que desee en un archivo de texto, por ejemplo: dirs.txt:
like/
like2/
A continuación, utilice wget
con las siguientes opciones de comando -i dirs.txt -B <base-URL>
como -i dirs.txt -B <base-URL>
:
wget -nH -nc -np -r -e robots=off -R "index.html*" -i dirs.txt -B http://site.io/
Dado que, no creo que puedas usar directorios en las listas -A
y -R
. (?)
¿Es posible usar comodines en las consultas de wget cuando se descargan desde directorios? Básicamente, tengo un sitio, por ejemplo, www.download.example.com/dir/version/package.rpm
. Sin embargo, el directorio de la versión cambia todo el tiempo y, a veces, contiene varios paquetes de RPM. ¿Hay una sola consulta de wget que me obtenga solo y todos los paquetes en el directorio de la version
sin saber cuál es esa versión? En mi mundo ideal, la consulta sería algo así como:
wget www.download.example.com/dir/*/*.rpm
Si hay una manera de hacer esto con curl
, eso funcionaría también.
No puede usar comodines en wget
pero la bandera -A
debería funcionar. De la página de manual de wget :
Desea descargar todos los gifs de un directorio en un servidor http. Intentó
wget http://www.server.com/dir/*.gif
, pero eso no funcionó porque la recuperación http no admite globbing. En ese caso, use:wget -r -l1 --no-parent -A.gif http://www.server.com/dir/
Editar: encontró una pregunta relacionada
En cuanto a los directorios:
Hay una utilidad llamada LFTP
, que tiene cierto soporte para globbing. Eche un vistazo a la página de manpage . Hay otra pregunta sobre Linux y Unix que cubre su uso en un escenario similar al suyo.
Si puede encontrar un patrón en su consulta, puede usar la expansión de llave de prueba para realizar esta tarea.
Por ejemplo, en su caso, puede usar algo como:
wget www.download.example.com/dir/{version,old}/package{00..99}.rpm
Además, puede combinar esto con los parámetros -A
y -R
para filtrar sus resultados.