Riešenie prvého zápočtového cvičenia

Ak chcete skript vyskúšať, stiahnite si ho linkom riesenie.sh dolu

#!/usr/bin/env bash
export LC_ALL=C

# do premennej SITE ulozime iba server
SITE=`echo $1 | sed 's@\(http://[^/]*\).*@\1@'`

# ak neexistuje adresar img, vytvorime ho
# budeme donho ukladat obrazky
if ! -d img
then
        mkdir img
fi

# prechadzame vsetky URL na schranke
for RURL in `
wget -O - -q $1 | 
        tr -d '\n' | 
        sed 's/>/>\n/g' |
        grep '< *[iI][mM][gG].*[sS][rR][cC]'|
        sed 's/.*</</' |
        sed "s/.*[iI][mM][gG].*[sS][rR][cC] *= *[\"']\?//" |
        sed "s/[ \"'].*//"`
do
        URL=$RURL
        
        # vytvorime uplne URL pre wget
        # musime rozlisit typy ^http://, ^/ a ostatne
        if test -z `echo $RURL | grep '^http://'` 
        then
          if test -z `echo $RURL | grep '^/'`
          then
                URL=${1}${RURL}
          else
                URL=${SITE}${RURL}
          fi
        fi    
        
        # meno suboru je to, co je za poslednym lomitkom v URL
        FNM=`echo $URL | sed 's@.*/@@'`

        # niektore stranky obsahuju viacej razy ten isty obrazok
        # vtedy ho nestahujeme viac razy, je to zbytocne
        # testujeme tu, ci subor uz existuje
        if test ! -f img/$FNM
        then 
                echo $URL
                wget -O img/$FNM -q $URL
        fi
done


riesenie.sh.html riesenie.sh

OperacneSystemy/Riesenie 1 (last edited 2009-04-29 11:34:40 by GejzaJenca)