次からファイルをダウンロードしようとしています。https://www.ebi.ac.uk/ena/data/view/PRJEB5736すべての例に対して、file1とfile2(FTP fastqのみ)ファイルを繰り返しダウンロードしたいと思います。 Linuxでどうするか教えてください。
ありがとう
答え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
したがって、3つの部分のみを変更する必要があります。
ERR<nr>/ERR<nr>_<1 or 2>
ステップサイズがERR
1の場合、結果の数は147であり、これは完全な答えです(これがまさにこの物語のすべてであると仮定します)。したがって、すべてのダウンロードが完了したら、新しいファイル数を数えて2 * 147ファイルがあることを確認してください。
ダウンロードプロセスは確実に最適化できます。上記のように、wget
各リンクはプロセスを開始します。最適化はあなたに任せ、ここでは分析と基本的な解決策だけを扱います。