HTML 디렉토리 목록에서 파일 목록 가져오기

HTML 디렉토리 목록에서 파일 목록 가져오기

나는에있는 모든 파일을 얻을 수 있습니다배쉬 패치 사이트순서대로 다운로드하여:

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

관련 정보