Linuxミラーから最新バージョンのファイルをダウンロードしてください。

Linuxミラーから最新バージョンのファイルをダウンロードしてください。

私のスクリプトの一部では、クラウドイメージの例の最新バージョンをダウンロードする必要があります。

http://download.rockylinux.org/pub/rocky/8/images/

最新は現在http://download.rockylinux.org/pub/rocky/8/images/Rocky-8-GenericCloud-8.4-20210620.0.x86_64.qcow2

このリンクから最新のファイルを使用curlまたはダウンロードするにはどうすればよいですか?wget.qcow2

問題は

  1. ファイル名が変わります。
  2. .qcow2 ファイルが複数ある場合があります。
  3. ファイルにはGenericCloudを含める必要があります。

ベストアンサー1

sort次のオプションがあります-V

  -V, --version-sort
         natural sort of (version) numbers within text

したがって、次curl | grep | sort -Vの組み合わせを使用できます。

wget "http://download.rockylinux.org/pub/rocky/8/images/$(
  curl http://download.rockylinux.org/pub/rocky/8/images/ \
  | grep -Po 'href="\K[^"]*GenericCloud[^"]' \
  | sort -V \
  | tail -n1)"

または選択の余地grepがない場合-P

wget "http://download.rockylinux.org/pub/rocky/8/images/$(
  curl http://download.rockylinux.org/pub/rocky/8/images/ \
  | grep -o 'href="[^"]*GenericCloud[^"]' | grep -o '[^"]*\.qcow2' \
  | sort -V \
  | tail -n1)"

おすすめ記事