URI 경로의 일부를 폴더에 미러링하도록 wget에 지시

URI 경로의 일부를 폴더에 미러링하도록 wget에 지시

파일에 URI 목록이 있습니다 uris.txt.

http://example.com/file1.pdf
http://example.com/file2.pdf
http://example.com/Folder/file3.pdf
http://example.com/Folder/Subfolder/file4.pdf

내 HDD의 결과 디렉토리 구조는 다음과 같습니다.

|
|-file1.pdf
|-file2.pdf
|-Folder
  |-file3.pdf
  |-Subfolder
    |-file4.pdf

내 현재 명령은 다음과 같습니다wget -i uris.txt -P downloads

불행하게도 wget은 모든 디렉토리를 평면화합니다. 즉, 파일 이름은 기본 디렉토리(명령줄에서 -P로 지정됨)와 URI 경로의 마지막 부분을 연결하여 결정됩니다.

서버가 제공하는 디렉토리 구조를 유지하는 것은 가능합니다.재귀 모드, 지정된 URI 목록과 달리 HTML 및 CSS에서만 작동합니다.

답변1

example.com 최상위 디렉토리를 피하기 위해 추가 옵션 -x또는 --force-directories-nH또는 를 사용하여 이를 얻을 수 있습니다.--no-host-directories

답변2

답변을 제공하는 권장 독서 자료미래에도 사용할 수 있는방법:

man wget

찾아 --no-host-directories보고--cut-dirs=number

--no-host-디렉토리
wget이 모든 데이터를 입력하기 위해 "example.com"이라는 디렉터리 생성을 건너뛰도록 합니다.

--cut-dirs=번호
number하위 디렉터리에 대해서도 위에서부터 계산하여 동일한 작업을 수행합니다 .

관련 정보