行末で区切られたファイルのリストを含むファイルがあります
$ cat file_list
file1
file2
file3
このファイルのリストをFTPでコピーしたい
どうやってやるの ?スクリプトを書く必要がありますか?
ファイルのリストを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
これらの線に沿った何か- 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もまた、一度にアップロードするために任意の数のファイルを必要としますが、私はそれをチェックしていません。このアプローチでは、すべてのファイルに対して接続および切断されることに注意してください。
ファイルのリストを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