利用bash脚本批量下载数据(并行)
首先在下载目录中创建包含以下内容的.sh脚本:
1 |
|
这个命令会做以下事情:
cat list.txt
- 打开名为list.txt
的文件,并将其内容输出到标准输出(通常是命令行窗口)。|
- 管道操作符,将cat list.txt
的输出作为下一个命令xargs
的输入。xargs -n 1 -P 5 wget
-xargs
命令用来构建和执行命令(wget
),-n 1
表示每次传递一个参数给wget
,-P 5
表示同时运行 5 个wget
命令。
因此,整个命令的目的是从 list.txt
文件中读取每一行作为一个 URL,并使用 wget
命令来同时下载这些 URL 所指向的资源,最多同时运行 5 个下载任务。
其次在下载目录中创建包含所需全部下载链接的list.txt文档:
1 | http://esgf-data1.llnl.gov/thredds/fileServer/css03_data/CMIP6/CMIP/MIROC/MIROC6/historical/r1i1p1f1/day/psl/gn/v20191016/psl_day_MIROC6_historical_r1i1p1f1_gn_18500101-18591231.nc |
注意list.txt文档的文件格式编码需设置为unix格式:
1 | # 打开文件 |
注:Chrome浏览器有个很好用的插件叫Link Grabber可以获取网页的全部下载链接,搭配使用更方便。