![如何从命令行下载最新的MediaWiki?](https://linux22.com/image/211785/%E5%A6%82%E4%BD%95%E4%BB%8E%E5%91%BD%E4%BB%A4%E8%A1%8C%E4%B8%8B%E8%BD%BD%E6%9C%80%E6%96%B0%E7%9A%84MediaWiki%EF%BC%9F.png)
您可以通过网络浏览器 GUI 下载 MediaWiki:
https://www.mediawiki.org/wiki/下载
那里的下载链接与版本无关(它会在新版本出现时随时更改),这使得无法通过同一链接下载,因为链接总是会更改。
我怎样才能以与版本无关的方式下载最新的 MediaWiki?如何从命令行“定位”动态下载链接?可能需要一些正则表达式,但也可能不需要。
答案1
如果您有一个 XML 解析器(例如xmlstarlet
可以理解 HTML),您可以使用如下内容:
curl --silent https://www.mediawiki.org/wiki/Download |
xmlstarlet format -H 2>/dev/null |
xmlstarlet sel -T -t -m '//a[@class="external text" and contains(., "Download MediaWiki")]' -v '@href' -n
第一xmlstarlet
行将format
HTML 转换为严格的 XML。我已经丢弃了标准错误因为否则我们会看到一条与此处无关的警告消息。第二个将结果解析为包含其值的每个元素的select
属性值。href
<a class="external text"/>
Download MediaWiki
输出
https://releases.wikimedia.org/mediawiki/1.38/mediawiki-1.38.4.zip
参考