Wget 정규식은 ftp를 통해 파일을 얻을 수 없습니다.

Wget 정규식은 ftp를 통해 파일을 얻을 수 없습니다.

웹사이트에서

ftp://atmos.nmsu.edu/PDS/data/mslrem_1001/DATA/

.TAB태양이 RMD로 끝나고 이름이 RMD인 모든 파일을 다운로드하고 싶습니다 . 이를 위해 다음 명령을 시도했습니다.

wget -r -nd --accept-regex '.*(RMD)\d+\_+[A-Z][0-9]\.(TAB)' ftp://atmos.nmsu.edu/PDS/data/mslrem_1001/DATA/SOL_00001_00089/SOL00010/

그냥 시험해 보려고 URL이 다릅니다. 문제는 wget이 정규식을 무시하고 모든 파일을 다운로드한다는 것인데 그 이유를 모르겠습니다.

답변1

더 간단한 방법을 시도해 보세요.

wget -r -nd -A '*RMD*.TAB' ftp://atmos.nmsu.edu/PDS/data/mslrem_1001/DATA/

답변2

정규식 대신 와일드카드를 사용해 볼 수 있습니다. ~에서수동:

‘--no-glob’

FTP 와일드카드를 끄십시오. 와일드카드는 "*", "?", '[' 및 ']'와 같은 쉘과 유사한 특수 문자(와일드카드)를 사용하여 동일한 디렉터리에서 여러 파일을 한 번에 검색하는 것을 의미합니다. 예:

wget ftp://gnjilux.srk.fer.hr/*.msg

기본적으로 URL에 와일드카드 문자가 포함된 경우 globbing이 켜집니다. 이 옵션을 사용하면 와일드카드를 영구적으로 켜거나 끌 수 있습니다.

쉘에서 URL이 확장되는 것을 방지하려면 URL을 인용해야 할 수도 있습니다. Globbing을 사용하면 Wget이 시스템별 디렉터리 목록을 찾습니다. 이것이 바로 현재 Unix FTP 서버(및 Unix ls 출력을 에뮬레이트하는 서버)에서만 작동하는 이유입니다.

예:

wget -r -nd "ftp://atmos.nmsu.edu/PDS/data/mslrem_1001/DATA/*.TAB"

관련 정보