カールなどを使って情報を抽出する

カールなどを使って情報を抽出する

自動化されたVirtualBoxビルド用のスクリプトを作成する予定で、VirtualBoxの各バージョンにバージョン(もちろん)とリリースバージョンが含まれていることを確認しました。

この例では

http://download.virtualbox.org/virtualbox/5.0.6/VirtualBox-5.0.6-103037-Linux_amd64.run

5.0.6はバージョンで、103037はリリースバージョンで、おそらくgitのリビジョンです。

もちろん、すべての新しいバージョンには新しいリリースバージョンがあります。リリースバージョンを知らないか、カールなどを使って抽出できますか?

ベストアンサー1

これは非常にきれいですが、lynxリンクダンプに依存します(正規表現などを使用してソースHTMLを解析する代わりに)。

wget -q "https://www.virtualbox.org/wiki/Linux_Downloads" -O - | lynx -stdin -dump -listonly | grep -Eo 'http.+amd64.run$'

最後のgrep正規表現では、amd64バージョンが欲しいと仮定します。

同じことcurl:

curl -s "https://www.virtualbox.org/wiki/Linux_Downloads" | lynx -stdin -dump -listonly | grep -Eo 'http.+amd64.run$'

wgetアップデート:電話をかけたり不要になったことが正しく指摘されました。curl

lynx -dump -listonly "https://www.virtualbox.org/wiki/Linux_Downloads" | grep -Eo 'http.+amd64.run$'

おすすめ記事