ファイルリストからLFTPを実行する

ファイルリストからLFTPを実行する

LFTPを介してリモートコンピュータから同じディレクトリ構造を持つローカルコンピュータにダウンロードしたいファイルパスの改行区切りリストがあります。 LFTPにファイルリスト(リモートシステム上のファイルのフルパス)を渡し、そのファイルのみをダウンロードさせる方法はありますか?現在のアプローチは、各ファイルをLFTPに個別に渡し、ダウンロードしてリストが使い果たされるまで、次のファイルに対して同じプロセスを繰り返すことです。明らかに、一括でファイルをダウンロードする方がはるかに高速です。現在の解決策は愚かな感じです。

ベストアンサー1

これはどうですか?

[root@localhost foo]# ls -l file*
-rw-r--r--. 1 root root 33 Jun 30 15:09 filelist
[root@localhost foo]# cat filelist
/tmp/file1
/tmp/file2
/tmp/file3
[root@localhost foo]# awk 'BEGIN { print "open localhost\nuser steve steve\n" } { print "get " $0 } END { print "exit" }' filelist | lftp
[root@localhost foo]# ls -l file*
-rw-r--r--. 1 root root  0 Jun 30 14:57 file1
-rw-r--r--. 1 root root  0 Jun 30 14:57 file2
-rw-r--r--. 1 root root  0 Jun 30 14:57 file3
-rw-r--r--. 1 root root 33 Jun 30 15:09 filelist
[root@localhost foo]#

おすすめ記事