Скрипт 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
Другие вопросы по тегам