Wget正規表現はftpを介してファイルを取得できません。

Wget正規表現はftpを介してファイルを取得できません。

ウェブサイトから

ftp://atmos.nmsu.edu/PDS/data/mslrem_1001/DATA/

.TAB太陽がRMDで終わり、名前がRMDであるすべてのファイルをダウンロードしたいと思います。これを行うには、次のコマンドを試しました。

wget -r -nd --accept-regex '.*(RMD)\d+\_+[A-Z][0-9]\.(TAB)' ftp://atmos.nmsu.edu/PDS/data/mslrem_1001/DATA/SOL_00001_00089/SOL00010/

ただ試してみようとURLが異なります。問題はwgetが正規表現を無視してすべてのファイルをダウンロードすることですが、その理由はわかりません。

答え1

より簡単な方法を試してください。

wget -r -nd -A '*RMD*.TAB' ftp://atmos.nmsu.edu/PDS/data/mslrem_1001/DATA/

答え2

正規表現の代わりにワイルドカードを試すことができます。 ~から手動:

‘--no-glob’

FTPワイルドカードをオフにします。ワイルドカードとは、「*」、「?」、「[」、「]」などのシェルに似た特殊文字(ワイルドカード)を使用して、同じディレクトリから複数のファイルを一度に検索することを意味します。例:

wget ftp://gnjilux.srk.fer.hr/*.msg

デフォルトでは、URLにワイルドカード文字が含まれている場合はglobingがオンになります。このオプションを使用すると、ワイルドカードを永久にオンまたはオフにできます。

シェルでURLが拡張されるのを防ぐために、URLを引用する必要があるかもしれません。 Globbingを使用すると、Wgetはシステム固有のディレクトリリストを見つけます。これが現在、Unix FTPサーバー(およびUnix ls出力をエミュレートするサーバー)でのみ機能する理由です。

例:

wget -r -nd "ftp://atmos.nmsu.edu/PDS/data/mslrem_1001/DATA/*.TAB"

関連情報