我正在尝试使用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 也不要被硬编码,但使用通配符似乎不起作用。
有什么指点吗?
这应该是最新版本:
curl -sL 'https://redream.io/download' | grep -oP 'href="[^"]+redream[^"]+-\K\d{4}' | sort -ru | head -n 1