
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 wget
con 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 llamadoftp.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 comoindex.html
etc.). 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