【发布时间】:2021-02-20 16:40:34
【问题描述】:
我的目标是读取我存储的网站的.txt 文件,然后将.txt 文件中每个条目的内容输出为.nc 文件。这是我第一次使用 GitBash,我认为我已经构建了一些基本循环,但我不确定如何从 .txt 文件中卷曲每个网站并使用适当的名称输出它。下面我包含了一个最小的工作示例:
输入(mytextfile.txt):
https://data.pacificclimate.org/data/downscaled_gcms/tasmax_day_BCCAQv2+ANUSPLIN300_MRI-CGCM3_historical+rcp45_r1i1p1_19500101-21001231.nc.nc?tasmax[0:55114][152:152][290:290]
https://data.pacificclimate.org/data/downscaled_gcms/tasmax_day_BCCAQv2+ANUSPLIN300_GFDL-ESM2G_historical+rcp45_r1i1p1_19500101-21001231.nc.nc?tasmax[0:55114][152:152][290:290]
https://data.pacificclimate.org/data/downscaled_gcms/tasmax_day_BCCAQv2+ANUSPLIN300_HadGEM2-ES_historical+rcp45_r1i1p1_19500101-21001231.nc.nc?tasmax[0:55114][152:152][290:290]
代码:
for url in $(mytextfile.txt); do
curl --globoff "$url" > FileNameGoesHere.nc
为每个 URL 输出单独的 .nc 文件:
tasmax45_MRI-CGCM3.nc
tasmax45_GFDL-ESM2G.nc
tasmax45_HadGEM2-ES.nc
所以据我了解,现在脚本会读取我的文本文件的每一行,对其执行 curl,然后使用 > 输出,但我希望每个输出文件都有一个特定的名称。
如果我使用的是 Python,那么我会想到 zip(url,out_name)(虽然不确定这是否是 GitBash 中的东西)。此外,有时当我卷曲时,网页内容不会完全下载(例如,如果文件为 500kb,有时由于连接错误,它会以 450kb 下载),所以如果有人有兴趣帮助我构建一些功能,以便如果发生这种情况它会重新下载,那很好,但没必要。
【问题讨论】:
-
您所说的“特定名称”是什么意思?请edit您的问题显示一些文件的预期结果,或者为每个文件推断正确文件名的方法。