Holen Sie sich die Dateiliste in einer HTML-Verzeichnisliste

Holen Sie sich die Dateiliste in einer HTML-Verzeichnisliste

Ich kann alle Dateien auf demBash-Patch-Siteindem Sie sie der Reihe nach herunterladen:

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

Dafür müsste ich aber die Maximalzahl kennen.

Gibt es eine Möglichkeit, nur die Liste abzurufen und alle Patchdateien zum Herunterladen zu extrahieren?

Antwort1

wgetSie können beim rekursiven Herunterladen Folgendes verwenden :

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

Erläuterung:

  • -nc: No-Clobber (vorhandene Dateien nicht überschreiben), wahrscheinlich nicht notwendig.
  • -nd: Erstellen Sie keine Verzeichnishierarchie.
  • -nH: Erstellen Sie kein Verzeichnis basierend auf dem Hostnamen. Andernfalls finden Sie alles, was in ein Verzeichnis namens heruntergeladen wurde ftp.gnu.org.
  • -np: Niemals zum übergeordneten Verzeichnis aufsteigen.
  • -r: Rekursiv herunterladen.
  • -R '*.*': Lehnt alles ab, das ein .im Dateinamen hat (überspringt Dinge wie index.htmlusw.). Es kann auch eine Akzeptanzliste verwendet werden.Die Datei wird heruntergeladen, aber verworfen.

Antwort2

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

verwandte Informationen