在wget或curl查询中使用通配符

mar*_*t1n 24 curl wget download

从目录下载时是否可以在wget查询中使用通配符?基本上,我有一个网站,比方说www.download.example.com/dir/version/package.rpm.但是,版本目录一直在变化,有时包含多个RPM包.是否有一个wget查询只能获取我和version目录中的所有包而不知道该版本是什么?在我的理想世界中,查询将是这样的:

wget www.download.example.com/dir/*/*.rpm
Run Code Online (Sandbox Code Playgroud)

如果有办法实现这一点curl,那也可以.

小智 31

您不能使用通配符,wget-A标志应该可以使用.从wget手册页:

您想从http服务器上的目录下载所有GIF.你试过了wget http://www.server.com/dir/*.gif,但那不起作用,因为http检索不支持globbing.在这种情况下,使用: wget -r -l1 --no-parent -A.gif http://www.server.com/dir/

编辑:发现了一个相关的问题

关于目录:

有一个叫做的实用程序LFTP,它支持globbing.看一下联机帮助页.还有一个关于Linux和Unix的问题,涵盖了在类似于你的场景中的用法.

  • 好的,这允许我指定我只需要 `.rpm` 文件。但是,目录名称不明确的问题仍然存在。我如何告诉“wget”目录名称无关紧要并跳转到包含 RPM 文件的目录。 (2认同)

Iva*_*van 12

如果您能够在查询中找到模式,则可以使用bash大括号扩展来执行此任务.

例如,在您的情况下,您可以使用以下内容:

wget www.download.example.com/dir/{version,old}/package{00..99}.rpm
Run Code Online (Sandbox Code Playgroud)

此外,您可以将其-A-R参数结合使用以过滤结果.