首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何尽可能简洁地确定最新稳定的TuxOnIce版本

如何尽可能简洁地确定最新稳定的TuxOnIce版本
EN

Stack Overflow用户
提问于 2013-03-30 01:33:48
回答 2查看 149关注 0票数 0

因此,我打算在这里做的是从http://tuxonice.net/downloads/all/ (当前是tuxonice-for-linux-3.8.0-2013-02-24.patch.bz2)确定TuxOnIce的最新稳定版本。

让事情变得复杂的是,没有“当前”链接,所以我们必须遵循版本控制,这类似于(这些不存在):

代码语言:javascript
复制
tuxonice-for-linux-3.8.0-2013-4-2.patch.bz2
tuxonice-for-linux-3.8-4-2013-4-16.patch.bz2
tuxonice-for-linux-3.8-11-2013-5-23.patch.bz2

问题是它们的顺序如下:

代码语言:javascript
复制
tuxonice-for-linux-3.8-11-2013-5-23.patch.bz2
tuxonice-for-linux-3.8-4-2013-4-16.patch.bz2
tuxonice-for-linux-3.8.0-2013-4-2.patch.bz2

我目前的实现(这是垃圾)是这样的。我想过使用日期,但也不知道怎么做(/tmp/tuxonice是索引文件):

代码语言:javascript
复制
_major=3.8 # Auto-generated
_TOI=$(grep ${_major}-1[0-9] /tmp/tuxonice | cut -d '"' -f2 | tail -1)
[ ! $_TOI ] && _TOI=$(grep ${_major}- /tmp/tuxonice | cut -d '"' -f2 | tail -1)
[ ! $_TOI ] && _TOI=$(grep ${_major}.0-2 /tmp/tuxonice | cut -d '"' -f2 | tail -1)

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-05 20:39:45

使用get服务器的功能将索引页面按修改日期的逆序排序,使用lynx -dump抓取页面,获取与您感兴趣的文件名匹配的第一行,并打印相应的列。这将为您提供文件的绝对URL,您可以在此调整命令以提供所需的确切输出(文件名,仅版本字符串,...)。

代码语言:javascript
复制
$ lynx -dump 'http://tuxonice.net/downloads/all/?C=M&O=D'|awk '/^[[:space:]]*[[:digit:]]+\..+\/tuxonice-for-linux/ { print $2; exit }'
http://tuxonice.net/downloads/all/tuxonice-for-linux-3.8.0-2013-02-24.patch.bz2

仍然不是超级健壮的,如果修改日期没有达到预期,显然会中断,而且您可能还想对正则表达式进行一些调整,使其更具体。

票数 1
EN

Stack Overflow用户

发布于 2013-03-30 02:44:50

这不是一个真正的答案,但我认为这个“一行”1相当酷:

代码语言:javascript
复制
HTML=$(wget -qO- http://tuxonice.net/downloads/all/ | grep tuxonice); TIMESTAMP=$(echo "$HTML" | sed 's/.*\([0-9]\{2\}-[A-Za-z]\{3\}-[0-9]\{4\} [0-9]\{2\}:[0-9]\{2\}\).*/\1/' | while read line; do echo $(date --date "$line" +%s) $line; done | sort | tail -n 1 | cut -d' ' -f2-3); LINK=$(echo "$HTML" | grep "$TIMESTAMP" | sed 's/.*href=\"\(.*\)\".*/\1/'); echo "http://tuxonice.net/downloads/all/${LINK}"

打印:

代码语言:javascript
复制
http://tuxonice.net/downloads/all/tuxonice-for-linux-3.8.0-2013-02-24.patch.bz2

然而,这种方法实际上只是一个笑话。显然,有更好的方法可以做到这一点,也许可以使用支持XML解析的脚本语言。

至少,这可能会让您深入了解如何使用文件的日期/时间值来选择“最新的”。但我会谨慎地使用这个(因为上传日期可能与版本号不一致),并建议你的版本号想法可能是一个更好的想法,如果你能以某种方式处理所有不同的命名和版本编号方案,它看起来像他们使用的。

1.这不是真正的班轮

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15708377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档