2

行末で区切られたファイルのリストを含むファイルがあります

$ cat file_list
file1
file2
file3

このファイルのリストをFTPでコピーしたい

どうやってやるの ?スクリプトを書く必要がありますか?

4

3 に答える 3

9

ファイルのリストをftpコマンドのリストに簡単に変換できます。

(echo open hostname.host; 
 echo user username; 
 cat filelist | awk '{ print "put " $1; }'; 
echo bye) > script.ftp

次に、次のコマンドを実行できます。

ftp -s script.ftp

またはおそらく(他のバージョンのftpで)

ftp -n < script.ftp

于 2012-05-04T08:45:38.317 に答える
2

これらの線に沿った何か- somecommandあなたが何をしたいかによります-私はあなたの質問からそれを理解していません、ごめんなさい。

#!/bin/bash
# Iterate through lines in file
for line in `cat file.txt`;do
#your ftp command here do something    
 somecommand $line
done

編集:本当に複数のファイルに対してこのルートを説得したい場合(すべきではありません!)、代わりに次のコマンドを使用できますsomecommand $line

ncftpput -m -u username -p password ftp.server.com /remote/folder $line

ncftpputもまた、一度にアップロードするために任意の数のファイルを必要としますが、私はそれをチェックしていません。このアプローチでは、すべてのファイルに対して接続および切断されることに注意してください。

于 2012-05-04T08:44:07.613 に答える
2

ファイルのリストをftpにフィードする方法の非常に役立つ例をありがとう。これは私にとって美しく機能しました。

Linux(CentOs 5.5)でftpスクリプトを作成した後、次のコマンドでスクリプトを実行しました。

ftp –n < ../script.ftp

私のスクリプト(無実を保護するために名前が変更されています)は次のように始まります:

open <ftpsite>
user <userid> <passwd>
cd <remote directory>
bin
prompt
get <file1>
get <file2>

そして最後に:

get <filen-1>
get <filen>
bye
于 2012-10-09T17:32:20.057 に答える