web-dev-qa-db-ja.com

コマンドラインから複数のファイルを「wput」しますか?

wputを使用して単一のファイルをアップロードできます。

wput file ftp://username:passwd@ipaddress/file

複数アップロードする方法はありますか?多分次のようなものです:

wput {file1,file2} ftp://username:passwd@ipaddress/{file1,file2}

ftpcurlなどを使用した解決策があることは知っています。 wput用のものがあるかどうか疑問に思いました。

6
dinkelk

マニュアルから:

So you can specify e.g. one URL and read all filenames from a file. 
Or use wput *.txt ftp://Host, to transfer all *.txt-files. 
See EXAMPLES for further examples.

−iファイル

-入力-ファイル=ファイル

ファイルからURLとファイル名を読み取ります。コマンドラインにもURLがある場合、並べ替えが有効になっていない限り、URLが最初に取得されます。 URL-入力-処理のセクションも参照してください。ファイルが-の場合、URLはstdinから読み取られます。 stdinにアップロードされるファイルの内容をパイプしたい場合、これは(まだ)実行できません。ただし、-input-pipeフラグを使用して、a)名前付きパイプから-I "cat named.pipe; echo>/dev/null"またはb)データを出力するコマンドから直接内容を読み取ることができます。 (--input-pipeを参照)find |のようなことはしないでください。 wput ftp://Host/ −i −! Wputは、現在のディレクトリからすべてのファイルをアップロードし(findの最初の出力は「。」になるため)、その後、各ファイルを再度アップロードします(findはその名前をWputに投稿するためです。さらに問題なのは、Wputがによって指定された各ディレクトリをアップロードすることです。 findは、find自体がすべてのディレクトリを繰り返すため、ファイルは3回アップロードされます(または、さらにサブディレクトリの場合はさらに頻繁にアップロードされます)。ローカルディレクトリからすべてをアップロードするには、wput ftp://Host/を使用します。またはfind!−type d | wputを使用します。 ftp://Host/ −i −ディレクトリを出力するのではなく、検索するように指示します。

3
Endoro