2010-04-06 39 views
3

好吧,所以我需要运行wget,但我禁止在我需要运行wget的位置创建'点'文件。所以我的问题是'我可以让wget使用除了.listing之外的名称,我可以指定'。wget .listing文件,有没有一种方法来指定它的名称

进一步说明:这是为了将ftp文件夹与本地文件夹同步/镜像,因此使用-O选项并不是很有用,因为我需要所有文件保持格式。

+0

superuser.com? ___ – 2010-04-06 21:06:10

回答

1

可以使用-O选项来设置输出文件名,如:

wget -O file http://stackoverflow.com 

您还可以使用wget --help得到的选项的完整列表。


对于一起来算账,并回答错误的问题感到惊讶的乡亲,这里是下面的评论的一个副本:

@FelixD,是的,很不幸的误解题。 查看wget版本1.19(2017年2月)的代码,特别是ftp.c,看起来该.listing文件在宏LIST_FILENAME中被硬编码,并且没有覆盖可能。有可能是镜像FTP站点更好的选择 - 也许看一看的lftp及其镜像命令,还包括并行下载:lftp.yar.ru

+1

海报不询问输出文件的名称,但临时的'.listing'文件的名称wget创建了例如当从FTP下载与globbing时。在同一目录中使用多个wget实例时,这些文件会发生冲突。不知道为什么这被标记为答案,因为它不是。 – FelixD 2017-05-02 08:20:03

+1

@FelixD,是的,不幸的是误解了这个问题。看看wget版本1.19(2017年2月)的代码,特别是ftp.c,看起来'.listing'文件在宏'LIST_FILENAME'中被硬编码,并且不可能被覆盖。镜像ftp站点可能有更好的选择 - 也许看看lftp及其镜像命令,还包括并行下载:https://lftp.yar。ru – msandiford 2017-05-02 11:38:20

+0

感谢您的快速回复和检查源代码,可惜它是硬编码的。明天我们会看看lftp,也可能为我的具体任务提供另一种解决方法。 – FelixD 2017-05-02 17:00:24

0

@保罗:您可以使用指定-O选项由司朋

0

不,你不能这样做。

的wget/SRC/ftp.c

/* File where the "ls -al" listing will be saved. */ 
#ifdef MSDOS 
#define LIST_FILENAME "_listing" 
#else 
#define LIST_FILENAME ".listing" 
#endif 
0

我有同样的问题; 的wget似乎保存.listing文件在当前目录下的wget从叫,不管-O path/outpout_file

作为一个丑陋的/绝望的解决方案,我们可以尝试从随机目录wget的运行:

cd /temp/random_1; wget ftp://example.com/ -O /full/save_path/to_file_1.txt

cd /temp/random_2; wget ftp://example.com/ -O /full/save_path/to_file_2.txt

注意:手册上说使用--no-remove-listing选项会导致它创建.listing.1,。 listing.2等,这可能是避免冲突的一种选择。

注意:如果ftp登录失败,则不会创建.listing文件。

相关问题