如何从 BLAST 数据库目录中获取所有 Betacoronavirus .tar.gz 文件?

如何从 BLAST 数据库目录中获取所有 Betacoronavirus .tar.gz 文件?

我正在尝试使用 wget 下载所有以 .tar.gz 结尾的 Betacoronavirus 文件https://ftp.ncbi.nlm.nih.gov/blast/db/。我可以使用 wget 并将链接粘贴到其中一个文件,它会很好地下载该文件。但是当我尝试使用某种正则表达式(例如带有 Betacoronavirus.*.tar.gz 的东西)来为我一次下载它们时,它不起作用。我已经尝试了在其他线程上看到的多种方法,但仍然没有任何效果。

答案1

使用专为传输文件而不是文本而设计的协议。在这种情况下,主机名“ftp”表明您也可以通过 FTP 访问资源。 wget 可以通过 FTP 进行全局操作:

wget 'ftp://ftp.ncbi.nlm.nih.gov:21/blast/db/Betacoronavirus.*.tar.gz'

答案2

Betacoronavirus.*.tar.gz当您在 wget 命令行上使用“regex”或“glob”时,它正在您的本地计算机上执行在您当前的工作目录中。

wget Betacoronavirus.*.tar.gz

在该目录中,可能没有这样的文件,并且“glob”为空;或者,目录可能包含一些已下载的文件,然后“glob”可能会匹配该文件并尝试下载相同的文件。

不管怎样,这都是行不通的。

你需要的是一个glob远程 ftp 机器. 你可以使用一个 cli ftp 客户端
你最好的方法(简单的方法)是使用gui ftp 客户端并选择匹配的文件并单击下载。我建议WinSCP 和 FileZilla

高级方法是下载目录列表的 html 源,解析它并取出匹配的文件,并对每个匹配的文件执行 wget。考虑到您的用例,我不建议这样做。

相关内容