2017-06-03 153 views
0

我有一个ftp服务器,我只想下载与特定模式匹配的文件。这些文件位于嵌套的目录树中。这是我做过什么:使用lftp镜像包含和排除文件

lftp -c 'open -e "mirror --parallel=8 -i .*abc\.zip . localmirrordir" http://site.ftp.com/' 

匹配正则表达式的localmirrordir只有文件此命令下载。但问题是,这个命令行会在每次运行时全面扫描服务器上的所有目录。

我希望能够减少那段时间,我希望只检查服务器上与正则表达式匹配的那些路径。我怎样才能做到这一点 ?

另外,你能告诉我为什么此命令未能从服务器在所有取东西:

lftp -c 'open -e "mirror --parallel=8 -x .* -x .*/ -i .*abc\.zip . localmirrordir" http://site.ftp.com/' 

回答

0

可以明确排除不希望扫描目录。当第一个模式包含时,则lftp首先排除所有文件,但包含所有目录。上次匹配模式提供有关每个文件或目录的解决方案。目录与附加的斜线匹配。

+0

你能举一些代码示例来更好地解释你的观点吗?这会让你的回答对所有人都有帮助。 – abc