0

ここで私がしようとしていることは、TuxOnIce の最新の安定バージョンをhttp://tuxonice.net/downloads/all/ (現在tuxonice-for-linux-3.8.0-2013-02-24.patch.bz2) から確認することです。

複雑なのは、「現在の」リンクがないことです。そのため、次のようなバージョン管理に従う必要があります (これらは存在しません)。

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

問題は、それらが次の順序になることです。

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インデックスファイルです):

_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)

ありがとう。

4

2 に答える 2

1

Web サーバーの機能を使用して、インデックス ページを変更日で逆順に並べ替え、 を使用してページをlynx -dump取得し、関心のあるファイル名に一致する最初の行を取得して、それぞれの列を出力します。これにより、ファイルへの絶対 URL が得られます。そこからコマンドを微調整して、必要な正確な出力 (ファイル名、バージョン文字列のみなど) を得ることができます。

$ 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

まだ非常に堅牢ではなく、変更日が期待どおりでない場合は明らかに壊れます。また、より具体的にするために正規表現を少し調整することもできます。

于 2013-04-05T12:39:45.083 に答える
0

これは本当の答えではありませんが、この「ワンライナー」[1] はかなりクールだと思いました。

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}"

版画:

http://tuxonice.net/downloads/all/tuxonice-for-linux-3.8.0-2013-02-24.patch.bz2

ただし、このアプローチは単なる冗談です。明らかに、XML 解析をサポートするスクリプト言語を使用するなど、これを行うためのより良い方法があります。

少なくとも、これにより、ファイルの日付/時刻の値を使用して「最新」を選択する方法についての洞察が得られるでしょう。ただし、これを使用する場合は注意が必要です (アップロード日がバージョン番号と一致しない可能性があるため)。さまざまな名前付けとバージョン番号付けスキームをすべて処理できる場合は、バージョン番号のアイデアがおそらくより良いアイデアであることが示唆されます。使ってきました。

[1] 本当のワンライナーじゃない

于 2013-03-29T18:44:50.473 に答える