2017-10-04 10 views
0

FTPサーバー上でホストされている大きなNetCDFファイルから1つの変数を抽出しようとしています。 1つのオプションは、wgetでファイルを1つずつダウンロードし、ncksを使用して新しい.ncファイルに必要な変数を取得し、元のファイルを削除することです。しかし、オリジナルの.ncファイルは大きく、すべてをダウンロードするのに時間がかかります。ファイル名が変更された大きなデータセットのNCOでNCKSを使用する

入力ファイルとしてFTPサーバー上のファイルを使用するNCOの機能を使用したかったが、の適切な変換をwget cyg05*.ncに見つけることができませんでした。

は、ここで私が興味を持っていたフォルダのいずれかです。私は実際のファイル名の最初の5つの文字を追跡したいftp://podaac.jpl.nasa.gov/allData/cygnss/preview/L1/v1.1/2017/077/

、残りを気にしないでください。私が試してみました:

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

ワイルドカード文字( "*"と "?")は、ローカルファイルとSSHプロトコルでNCOと動作しますが、FTPプロトコルでは動作しません。 wgetはNCOよりもスマートで、FTPプロトコルを介してglobファイルにすることができます。基本的には、NCOはFTPプロトコルで動作するために完全なファイル名を知る必要があります。おそらくwgetメソッドを使うのが一番簡単でしょう。 NCOグロビングがFTPを介して機能したとしても、ファイル全体をダウンロードするので、wgetより速くはありません。

+0

@Charlie Zenderの説明に感謝します!また、 'wget'よりも速くないことを知ると便利です。ところで、NCOを開発してくれたおかげさまで、ありがとうございました! –

関連する問題