링크가 많은 웹사이트에서 파일 다운로드 [닫기]

링크가 많은 웹사이트에서 파일 다운로드 [닫기]

다음에서 파일을 다운로드하려고 합니다.https://www.ebi.ac.uk/ena/data/view/PRJEB5736모든 예제에 대해 file1 및 file2(FTP fastq 전용) 파일을 반복적으로 다운로드하고 싶습니다. 리눅스에서 어떻게 하는지 알려주세요.

감사해요

답변1

모든 링크가 보이는 것처럼 규칙적이라면 다음을 시도해 볼 수 있습니다.

results=147
for ((i=0; i<147; i++)); do
    base=ftp://ftp.sra.ebi.ac.uk/vol1/fastq/ERR445/
    ext=$((445410+i))
    suff=.fastq.gz
    for j in 1 2; do wget "${base}${ext}/${ext}/_${j}${suff}"; done
done

내가 아는 한, 이 다운로드에는 재귀적인 내용이 없습니다. 링크 주소 검사는 몇 가지 힌트를 제공합니다.

ftp://ftp.sra.ebi.ac.uk/vol1/fastq/ERR445/ERR445410/ERR445410_1.fastq.gz
ftp://ftp.sra.ebi.ac.uk/vol1/fastq/ERR445/ERR445410/ERR445410_2.fastq.gz
ftp://ftp.sra.ebi.ac.uk/vol1/fastq/ERR445/ERR445411/ERR445411_1.fastq.gz
ftp://ftp.sra.ebi.ac.uk/vol1/fastq/ERR445/ERR445411/ERR445411_2.fastq.gz

따라서 세 부분만 변경되어야 합니다.

ERR<nr>/ERR<nr>_<1 or 2>

단계 크기가 ERR1인 경우 결과 개수는 147이며 이는 완전한 답입니다(이것이 바로 이 이야기의 전부라고 가정). 따라서 모든 다운로드가 완료된 후 새 파일 수를 세어 2 * 147 파일이 있는지 확인하십시오.

다운로드 프로세스는 확실히 최적화될 수 있습니다. 위에서 언급했듯이 wget각 링크는 프로세스를 시작합니다. 최적화는 여러분께 맡기고 여기서는 분석과 기본적인 해결 방법만 다루겠습니다.

관련 정보