在具有更改文件名的大型数据集的 NCO 中使用 NCKS
Using NCKS in NCO with large dataset with changing file names
我正在尝试从 FTP 服务器上托管的大型 NetCDF 文件中提取一个变量。一个很好的选择是使用 wget
一个一个地下载文件,使用 ncks
在新的 .nc
文件中获取我想要的变量并删除原始文件。但是,原始 .nc
文件很大,需要一段时间才能全部下载。
我想使用 NCO 的功能将 FTP 服务器上的文件用作输入文件,但我无法找到 wget cyg05*.nc
中 *
的适当翻译].
这是我感兴趣的文件夹之一:ftp://podaac.jpl.nasa.gov/allData/cygnss/preview/L1/v1.1/2017/077/
我只想跟踪实际文件名的前5个字符,其余的不关心。我试过:
for i in `seq 77 1 257`;
do
if [ $i -ge 10 ] && [ $i -lt 100 ]; then
for j in `seq 1 1 8`;
do
ncks -l . ftp://podaac.jpl.nasa.gov/allData/cygnss/preview/L1/v1.1/2017/0$i/cyg0$j'......'.nc 2017_Day_0$i_Spacecraft_0$j.nc
done
fi
done
我也试过用 *
和 ??????
替换 '......'
但没有任何运气,文件无法识别。我知道 NCO 的帮助,特别是这一部分:http://nco.sourceforge.net/nco.html#Large-Numbers-of-Files,但我不确定我是否理解其中描述的解决方案。
我使用的是 MacOS 10.11.6。
通配符(“*”和“?”)在本地文件上与 NCO 一起使用,并通过 SSH 协议使用,但不能通过 FTP 协议使用。 wget 比 NCO 更聪明,可以通过 FTP 协议对文件进行 glob。基本上 NCO 需要知道完整的文件名才能通过 FTP 协议工作。所以使用 wget 方法可能是最简单的。即使 NCO globbing 通过 FTP 工作,它仍然会下载整个文件,因此并不比 wget 快。
我正在尝试从 FTP 服务器上托管的大型 NetCDF 文件中提取一个变量。一个很好的选择是使用 wget
一个一个地下载文件,使用 ncks
在新的 .nc
文件中获取我想要的变量并删除原始文件。但是,原始 .nc
文件很大,需要一段时间才能全部下载。
我想使用 NCO 的功能将 FTP 服务器上的文件用作输入文件,但我无法找到 wget cyg05*.nc
中 *
的适当翻译].
这是我感兴趣的文件夹之一:ftp://podaac.jpl.nasa.gov/allData/cygnss/preview/L1/v1.1/2017/077/
我只想跟踪实际文件名的前5个字符,其余的不关心。我试过:
for i in `seq 77 1 257`;
do
if [ $i -ge 10 ] && [ $i -lt 100 ]; then
for j in `seq 1 1 8`;
do
ncks -l . ftp://podaac.jpl.nasa.gov/allData/cygnss/preview/L1/v1.1/2017/0$i/cyg0$j'......'.nc 2017_Day_0$i_Spacecraft_0$j.nc
done
fi
done
我也试过用 *
和 ??????
替换 '......'
但没有任何运气,文件无法识别。我知道 NCO 的帮助,特别是这一部分:http://nco.sourceforge.net/nco.html#Large-Numbers-of-Files,但我不确定我是否理解其中描述的解决方案。
我使用的是 MacOS 10.11.6。
通配符(“*”和“?”)在本地文件上与 NCO 一起使用,并通过 SSH 协议使用,但不能通过 FTP 协议使用。 wget 比 NCO 更聪明,可以通过 FTP 协议对文件进行 glob。基本上 NCO 需要知道完整的文件名才能通过 FTP 协议工作。所以使用 wget 方法可能是最简单的。即使 NCO globbing 通过 FTP 工作,它仍然会下载整个文件,因此并不比 wget 快。