내가 다운로드하고 싶은 파일이 잔뜩 있는 ftp 사이트가 있다고 가정해 보세요.ftp://ftp.example.com, FTP를 통한 "익명 로그인"을 허용합니다.
file1.zip,
file2.zip,
... ,
file100.zip
또한 파일 경로 목록이 있다고 가정하면 다음과 같이 모든 파일 경로를 bash 변수로 다운로드하고 싶습니다.
paths="ftp://ftp.example.com/file1.zip ftp://ftp.example.com/file7.zip"
wget $paths
각 파일에 대해 wget이 수행하는 작업을 확인하지 않고도 이 작업을 수행할 수 있는 방법(예: 두 파일 목록 다운로드)이 있습니까 ?
Connecting to ftp.example.com|10.10.10.10|:21... connected.
Logging in as anonymous ... Logged In!
다운로드하는 모든 파일에 대해 wget은 웹사이트에서 어디에서 한 번 인증합니까?
답변1
또는 일반 오래된 FTP를 사용할 수도 있습니다. 파일 ~/.netrc
에서 ftp.example.com에 대한 스탠자를 설정합니다 .
machine ftp.example.com
login ftp
password anonymous
...다른 사람이 파일을 읽을 수 없는지 확인하세요.
chmod 600 ~/.netrc
그런 다음 ftp
여기 문서를 통해 파일을 검색하는 명령을 보냅니다.
ftp ftp.example.com <<'EOF'
prompt
mget file*.zip
bye
EOF
-i
일부 FTP 클라이언트는 프롬프트를 비활성화하는 옵션을 지원하여 목록에 있는 명령을 mget
사용할 필요가 없습니다 .prompt
이 옵션을 사용하면 모든 파일 전송에 대해 FTP 세션이 설정됩니다.
답변2
내 생각엔 당신이 9번 팁을 원하는 것 같아요이 페이지.
기본적으로 wget -i를 사용하여 여러 파일을 다운로드할 수 있으며,
$ cat > download-file-list.txt
URL1
URL2
URL3
URL4
$ wget-i download-file-list.txt