例如,我想从以下链接下载数据:
http://nimbus.cos.uidaho.edu/DATA/OBS/
使用以下链接:
http://nimbus.cos.uidaho.edu/DATA/OBS/pr_1979.nc
到
http://nimbus.cos.uidaho.edu/DATA/OBS/pr_2015.nc
如何编写脚本以下载所有文件?使用
wget
命令?如何循环处理从1979年到2015年的链接?wget
命令?如何循环处理从1979年到2015年的链接?wget
可以接受一个包含每行 URL 的文件作为输入。
wget -ci url_file
-i
: 输入文件
-c
: 恢复功能
所以你需要做的就是把URL放在一个文件中,然后将该文件与wget一起使用。
像Jeff Puckett II的答案中提供的简单循环对于您的特定情况已足够,但如果您遇到更复杂的情况(随机URL),则此方法可能会派上用场。
echo $text1$i$text2 >> filename$i ;
。 - breezeintoplfilename$i
应该是 filename
,这样所有的链接都会进入同一个文件。虽然我通常使用文本编辑器从 HTML 源代码中提取 URL,通常使用 [tag:sed]。 - Jahid可能是通过预定义的一系列循环来实现。
未经测试的代码:
for i in {1979..2015}; do
wget http://nimbus.cos.uidaho.edu/DATA/OBS/pr_$i.nc
done
wget http://nimbus.cos.uidaho.edu/DATA/OBS/pr_*.nc
或者wget .../pr_[1979-2015].nc
。 - breezeintopl