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

관련 정보