如何在目标路径包含通配符时通过 wget 下载文件

how to download file VIA wget while target path include Wildcards

这里是如何下载文件并将其复制到的优雅示例

/etc/yum.repo.d folder

例子

REPOSITORY_SERVER=master_machine01
wget -nd -r -P /etc/yum.repos.d/  -A ".repo" "http://$REPOSITORY_SERVER/ambari/centos7/2.6.2.2-1/ambari.repo"

执行上述命令后 ambari.repo 文件将复制到 /etc/yum.repos.d/

注意:文件amabri.rep路径为

ls -ltr /var/www/html/ambari/centos7/2.6.2.2-1/ambari.repo
-rw-r--r-- 1 root users 304 Jun 11  2018 /var/www/html/ambari/centos7/2.6.2.2-1/ambari.repo

所以这是简单的情况

现在路径可以是(具有差异路径)

$REPOSITORY_SERVER/ambari/centos7/2.6.2.3-1/ambari.repo

$REPOSITORY_SERVER/ambari/centos7/2.6.2.2-4/ambari.repo

然后如何使用带通配符的 cli

我们尝试以下方法

wget -nd -r -P /etc/yum.repos.d/  -A ".repo" "http://$REPOSITORY_SERVER/ambari/centos7/*/ambari.repo"

但我们得到

HTTP request sent, awaiting response... 404 Not Found
2021-11-28 18:40:07 ERROR 404: Not Found.

甚至使用反斜杠

 wget -nd -r -P /etc/yum.repos.d/  -A ".repo" "http://$REPOSITORY_SERVER/ambari/centos7/\*/ambari.repo"

但出现同样的错误

知道如何解决这个问题吗?

how to use the cli with Wildcards

无法使用 HTTP 协议执行 glob 扩展。这些是非常不相关的技术。

how to resolve this issue?

设计并实现一种从 HTTP 服务器获取特定路径下的可用文件的方法。比如联系服务器管理员,问问他。潜在地,如果 HTTP 服务器支持提供目录列表,递归地过滤列表以找到所有匹配的路径。或者查找并查询包含所有链接的其他站点,并过滤获得的答案以提取所有链接,例如。等等