
FTPを使用してディレクトリにある何百ものファイルをダウンロードしようとしています。 FTPを使用して特定のファイルのみをダウンロードする方法はありますか?
理想的には、正規表現を使用して特定のファイルを一致させたいと思います。残念ながら、ディレクトリが大きすぎてディレクトリ全体をダウンロードしてから、ローカルでfindまたはgrepを使用して一部のファイルを操作することはできません。 Unixでやりたいことを簡単に行う方法はありますか?
それ以外の場合は、PerlまたはPythonでスクリプトを作成する予定です。助けてくれてありがとう。
答え1
以下を確認して、リモートシステムでシェルワイルドカードを使用できます。glob
有効にした後に実行mget
。
バラよりhttp://www.proftpd.org/docs/howto/Globbing.htmlより多くの情報を知りたいです。
私はこれがFTPが達成できる限界だと思います。 SSHアクセス権を取得できる場合は、サーバーでgrepやファイルの変更など、より多くの作業を実行できます。
答え2
大容量ファイルストアには通常、どこかにindex.txtファイルがあります。ダウンロードすると、フォルダ内のすべてのファイルのリストが含まれます。少なくともパッケージのリストをすばやく見つけるのに便利です。
答え3
いくつかのオプションのいずれかを使用して、FTPサーバーをローカルディレクトリにマウントします。ヒューズ- ベースファイルシステムFTPの場合は、お気に入りのツール(cp
プラスシェルワイルドカードなどrsync
)を使用して、検索したいファイルを一致させてコピーします。たとえば、
mkdir example-somedir
curlftpfs ftp://ftp.example.com/somedir example-somedir
cd example-somedir
rsync -a --exclude 'boring.ext' --include='*.ext' --exclude='*' . /path/to/local/copy
fusermount -u example-somedir
答え4
GUIソリューションが必要でKonquerorブラウザがある場合は、ftp://
FTPアドレスを入力してディレクトリ構造を参照できます。
ただし、コマンドラインソリューションが必要な場合があるようです。