2017-10-04 641 views
0

我想從FTP服務器上承載的大型NetCDF文件中提取一個變量。一個很好的選擇是使用wget逐個下載文件,使用ncks獲取我想要的新變量.nc中的變量並刪除原始文件。但是,原始.nc文件很大,需要一段時間才能下載它們。在NCO中使用帶有大數據集的NCKS並更改文件名

我想使用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上。

回答

1

通配符(「*」和「?」)與本地文件上的NCO一起使用,並且通過SSH協議,但不通過FTP協議。 wget比NCO更聰明,並且可以通過FTP協議來存儲文件。基本上NCO需要知道完整的文件名才能通過FTP協議工作。所以使用wget方法可能最簡單。即使NCO通過FTP工作,它仍會下載整個文件,因此不會比wget更快。

+0

感謝您的解釋@Charlie Zender!知道它不會比'wget'更快也是有幫助的。順便說一句,感謝您開發NCO的所有偉大工作! –

相關問題