2015-04-04 54 views
0

我想通过ftp下载一堆.txt.gz文件。我写过这个shell脚本。如何在没有指定每个文件的情况下获取服务器上的所有文件? 一些代码..使用shell脚本自动执行ftp下载

#!/bin/bash 
ftp -i -n <<Here 
open ftplink.com 
user Username password 
bin 
get XXX_xxxx_mp.txt.gz 
get XXX_xxxx_mp.txt.gz 
close 
quit 
Here 
+0

你不能使用像'得到* _mp.txt.gz'通配符? – ShellFish 2015-04-04 07:26:50

+0

@ShellFish不只是试图得到* _mp.txt.gz它给了我一个550未知的文件错误 – BenH 2015-04-04 07:36:08

+0

使用'mget'而不是'get',如果不行的话,尝试不使用'-n'标志。 – ShellFish 2015-04-04 07:40:41

回答

0

使用wget代替:

wget ftp://user:[email protected]/dir/*_mp.txt.gz 
+0

这是我看到,当我使用wget 。列出[<=>] 137.96K 29.4KB/s在4.7s ==> PASV ...完成。 ==> LIST ...完成。 .listing在18S [<=>] 137.96K 105KB/s的 2015-04-09 9时25分54秒(15.1 KB/S) - '.listing' 保存[282550] 删除 '.listing'。 模式上没有匹配'* _mp.txt.gz' – BenH 2015-04-04 16:25:17

+0

@BenH确保你指定了正确的目录。 /不对应于使用'ftp'登录的默认目录 – 2015-04-04 16:50:56