使用Curl获取最新的下载链接

问题描述 投票:0回答:1

我正在尝试使用curl从这里下载最新的linux链接:https://redream.io/download

最新下载链接为:https://redream.io/download/redream.x86_64-linux-v1.5.0-1106-g01ef607.tar.gz

下一篇是:https://redream.io/download/redream.x86_64-linux-v1.5.0-1101-g8b51a07.tar.gz等等。

看起来可以按1106、1101、1093数字排序。所以我会使用curl来获取最高的4位数字(特别是linux版本)。

我尝试从旧线程修改此块,但我似乎无法弄清楚。

 # Determine latest version:
 latestVer=$(curl 'http://nginx.org/download/' | 
   grep -oP 'href="nginx-\K[0-9]+\.[0-9]+\.[0-9]+' | 
   sort -t. -rn -k1,1 -k2,2 -k3,3 | head -1)

 # Download latest version:
 curl "http://nginx.org/download/nginx-${latestVer}.tar.gz" > nginx-latest.tar.gz

我现在有这个:


latestVer=$(curl 'https://redream.io/download' |
    grep -oP 'href="redream.x86-64-linux-v1.5.0-\K[0-9]+\[0-9]+\[0-9]+\[0-9]+' |
    sort -t. -rn -k1,1 -k2,2 -k3,3, -k4,4 | head -1)


curl "https://redream.io/download/redream.x86-64-linux-v1.5.0-${latestVer}.tar.gz" > redream.tar.gz

我希望 v1.5.0 也不要被硬编码,但使用通配符似乎不起作用。

有什么指点吗?

bash curl wget
1个回答
0
投票

这应该是最新版本:

curl -sL 'https://redream.io/download' | grep -oP 'href="[^"]+redream[^"]+-\K\d{4}' | sort -ru | head -n 1
© www.soinside.com 2019 - 2024. All rights reserved.