Bash脚本动态查找并构造url并下载

Bash脚本动态查找并构造url并下载

我想编写一个脚本,打开一个 URL(不是完整的 URL 链接)并查找文件的最新可用版本。然后,它将从该目录向上一级,在该目录中找到某个文件并重复此过程,直到找到可下载的文件(可能循环进行)。该脚本将在无头机器上运行。

完整链接的示例为:

http://centos.bio.lmu.de/7/isos/x86_64/CentOS-7-x86_64-DVD-1511.iso

不完整的链接是:

http://centos.bio.lmu.de/

现在脚本必须找到最新的目录,也就是7/进入该目录并查找/isos并重复该操作,直到到达该文件CentOS-7-x86_64-DVD-1511.iso

由于我是编程和 bash 的新手,任何帮助都将不胜感激。

答案1

那这个呢?

#! /bin/bash

re='^[0-9.]+$'  #regex to match digits and dots

VERSION_1=$(  # variable for the CentOS version
lynx --dump http://centos.bio.lmu.de/ |grep "/$" | \
while read i
do
  TMP_VERSION=`echo $i |awk -F "/" '{print $(NF-1)}'`
  if [[ $TMP_VERSION =~ $re ]] ; then
     echo $TMP_VERSION
  fi
done | sort -t . |tail -1)

VERSION_2=$(  #Variable for the ISO name
lynx --dump http://centos.bio.lmu.de/$VERSION_1/isos/x86_64/ |grep DVD| grep "\.iso$" |awk -F "/" '{print $NF}'| \
while read i
do
  echo $i
done |tail -1
)

wget http://centos.bio.lmu.de/$VERSION_1/isos/x86_64/$VERSION_2

相关内容