使用bash脚本从在线数据库下载文件

时间:2014-02-11 13:45:08

标签: database r bash curl wget

我想从在线数据库下载一些文件,但它不允许我一次下载所有文件。相反,它提供下载搜索关键字的文件。因为我有超过20000个关键字,所以对我来说不可行。 例如,我想从SarBase下载有关miRNA-mRNA相互作用的全部信息,但它不提供同时下载所有这些信息的选项。 我想知道,如何通过编写一些脚本来下载它。有人能帮助我吗?

2 个答案:

答案 0 :(得分:3)

创建一个名为getdb.sh的文件。

#!/bin/bash
echo "Download keywords in kw.txt."
for kw in $(cat kw.txt)
do
    curl http://www.mirbase.org/cgi-bin/get_seq.pl?acc=$kw > $kw.txt
done

创建另一个名为kw.txt的文件:

MI0000342
MI0000343
MI0000344

然后运行

$ chmod +x getdb.sh
$ ./getdb.sh

Download keywords in kw.txt.

$ ls -1 *.txt
kw.txt
MI0000342.txt
MI0000343.txt
MI0000344.txt

答案 1 :(得分:2)

另一种方式

cat kw.txt |xargs -i curl -o {}.txt http://www.mirbase.org/cgi-bin/get_seq.pl?acc={}