取得 HTML 目錄列表中的檔案列表

取得 HTML 目錄列表中的檔案列表

我可以取得所有文件bash 補丁站點按順序下載它們:

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

但接下來我必須知道最大數量。

是否有可能只獲取清單並提取所有補丁檔案以供下載?

答案1

您可以使用wget遞迴下載:

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

解釋:

  • -nc:no-clobber(不覆蓋現有文件),可能沒有必要。
  • -nd:不要建立目錄層次結構。
  • -nH:不要根據主機名稱建立目錄。或者您會發現所有內容都下載到名為 的目錄中ftp.gnu.org
  • -np:永遠不要提升到父目錄。
  • -r:遞歸下載。
  • -R '*.*':拒絕.檔案名稱中帶有 a 的所有內容(跳過諸如此類的內容index.html)。也可以使用接受清單。文件已下載,但被丟棄

答案2

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

相關內容