3. december

wget og andet godt

wget er et nyttigt værktøj til at hente filer på nettet. Her har vi et eksempel, hvor vi bruger det til at tage en lokal kopi af "Dagens billede" på SSLUG's websted. Det kan selvfølgelig rettes til, til at hente ndre typer data andre steder, hvis det er det man har brug for.

Gem den følgende tekst i filen dagens_billede:

#!/bin/tcsh

set vis = ""

if ( ! -d ~/.dagens_billede ) mkdir ~/.dagens_billede

foreach forskel ( 0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 )
   set dato    = `\date --date="today ${forskel} days" +"%Y%m%d"`
   set filnavn = ~/.dagens_billede/${dato}.jpeg

   if ( ! -e ${filnavn} ) then
      set billedurl = `wget -q -O- "http://www.sslug.dk/billeder/dagens/${dato}.shtml" | grep -i '"/moede/hygge/' | cut -d'"' -f2`

      if ( "${billedurl}" != "" ) then
         wget -O ${filnavn} http://www.sslug.dk${billedurl}
         echo http://www.sslug.dk${billedurl}

         set vis = "${filnavn} ${vis}"
      endif
   endif
end

if ( ${?DISPLAY} ) then
   if ( "${vis}" != "" ) then
      xv ${vis} &
   endif
endif

Og sørg for at det kan køres med kommandoen chmod a+x dagens_billede

Når du af og til logger ind (det kan eventuelt automatiseres) kører du programmet. Det henter hvad der måtte være kommet til af nye billeder siden sidst og viser dem i xv (tast mellemrum for at se det næste billede, når xv skal vise flere billeder).