linux用for 把https://ftp.ncbi.nlm.nih.gov/blast/db/链接中的00--99链接复制下来
时间: 2024-10-16 22:10:55 浏览: 30
blastdbget:从ftp.ncbi.nlm.nih.govblastdb下载Blast数据库,进行验证并提取
在Linux环境下,你可以使用`wget`命令结合`for`循环来下载指定URL范围内的文件。假设你要从`https://ftp.ncbi.nlm.nih.gov/blast/db/`开始到`00-99`,首先你需要知道目录结构。由于FTP通常不会直接提供这种结构下的链接,我们通常会看到类似于`ncbi.nlm.nih.gov/blast/db/00/`这样的形式。这里假设`00`到`99`是目录层级。
以下是简单的步骤:
1. 使用`wget`列出目录下所有文件,但跳过开头的目录部分(比如`00`、`01`等):
```bash
for dir in $(curl -s https://ftp.ncbi.nlm.nih.gov/blast/db/ | grep -o '/[0-9][0-9]*/')
do
echo $dir
done
```
2. 如果`curl`的输出格式如预期,可以添加`-sIL https://ftp.ncbi.nlm.nih.gov/blast/db/ | grep -o '/[0-9][0-9]*/' | cut -d '/' -f3)
do
echo $dir
done
```
3. 然后,将`echo`替换为`wget`命令并加上下载地址,下载文件。注意这一步可能需要一段时间,因为每个链接都会被下载:
```bash
for dir in $(curl -sIL https://ftp.ncbi.nlm.nih.gov/blast/db/ | grep -o '/[0-9][0-9]*/' | cut -d '/' -f3)
do
wget -O "$dir" "https://ftp.ncbi.nlm.nih.gov/blast/db/$dir/"
done
```
阅读全文