1

2 つのワイルドカードを持つことは可能ですか? そうでない場合、この問題を解決する別の方法はありますか?

Bash を使用して ftp サーバーからファイル タイプを再帰的に取得しようとしています。しかし、私が問題を抱えているのは、複数のディレクトリからファイルを削除しようとしていることです。これらのディレクトリ名の多くには、一致する文字列があります。クライアントは、一致する文字列を持つすべてのディレクトリを探し、それぞれから特定のファイル タイプを取得します。各ディレクトリには、同じ拡張子を持つ多数のファイルを含めることができます。

私がやろうとしたことは、wget を再帰的に使用することです。

wget -r 'ftp://anonymous:@$HOST/$PATH/$DIRSTRING*/*.$FILEEXT

これにより、$PATH/$DIRSTRING*/ ファイルまたはディレクトリが見つからないというエラー メッセージが表示されます。

wget がグロビングをサポートしていることは知っています。しかし、2 つのワイルドカードを持つことは可能ですか? そうでない場合、この問題を解決する別の方法はありますか?

よろしくお願いします

4

1 に答える 1

0

wget は、この種の ftp の使用にはあまり適していません...しかし、lftp は ftp サイト データのミラーリングに非常に優れており、グロビングもサポートしています! :)あなたの例のために:

lftp -e "mirror -I '$DIRSTRING*/*$FILEEXT' /$RPATH mirrorSite" ftp://anonymous@$HOST

see man lftp/ mirror コマンド

于 2013-07-19T18:57:21.757 に答える