質問: コマンドラインから複数のファイルを「wput」しますか? wputを使用して単一のファイルをアップロードできます。wput file ftp://username:passwd@ipaddress/file 複数アップロードする方法はありますか?多分次のようなものです:wput {file1,file2} ftp://username:passwd@ipaddress/{file1,file2} 注:ftp、curlなどを使用した解決策があることは知っています。 wput用のものがあるかどうか疑問に思いました。
回答: マニュアルから: 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 −ディレクトリを出力するのではなく、検索するように指示します。