Obtener la lista de archivos en un listado de directorio HTML

Obtener la lista de archivos en un listado de directorio HTML

Puedo obtener todos los archivos en elsitio de parches bashdescargándolos en una secuencia:

SEQ=$(seq -f "%03g" 1 30)
for i in $SEQ; do 
  wget http://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-$i;
done

Pero entonces tendría que saber el número máximo.

¿Existe la posibilidad de obtener la lista y extraer todos los archivos de parche para descargarlos?

Respuesta1

Podrías usar wgetcon descarga recursiva:

wget -nc -nd -nH -np -r -R '*.*'  http://ftp.gnu.org/gnu/bash/bash-4.3-patches/

Explicación:

  • -nc: sin clobber (no sobrescriba archivos existentes), probablemente no sea necesario.
  • -nd: No cree jerarquía de directorios.
  • -nH: No cree un directorio basado en el nombre de host. O encontrará todo lo descargado en un directorio llamado ftp.gnu.org.
  • -np: Nunca ascienda al directorio principal.
  • -r: Descargar de forma recursiva.
  • -R '*.*': Rechaza todo lo que tenga a .en su nombre de archivo (omite cosas como index.htmletc.). También se puede utilizar una lista de aceptación.El archivo se descarga, pero se descarta..

Respuesta2

for i in $(seq -f "%03g" 1 999); do 
  wget http://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-$i
  if [[ $? -ne "0" ]]; then
    MAX=$(expr $i - 1)
    break;
  fi
done
echo $MAX files downloaded

información relacionada