Ich fragte mich, wie schwer es ist, die aktuelle Temperatur für meinem Wohnort Dortmund zu bestimmen. Mit der Bash und mit Hilfe der Yahoo-Weather-API lies sich das Problem mit einer Zeile lösen. Die API benutzt eine sogenannte WOEID (Where On Earth ID), die ich mir aus der Adresszeile der Yahoo-Wetterseite geliehen habe. Für Dortmund lautet sie 645458.

curl -s 'http://weather.yahooapis.com/forecastrss?w=645458&u=c'
  | grep yweather:condition
  | sed -e 's/.*temp="//'
  | sed -e 's/".*//'
  1. Zunächst hole ich mir mit curl den RSS-Feed für meinen Ort und wähle mit u=c die Einheit Celsius für die Temperaturen. Die Option -s (silent) unterdrückt die Fortschrittsanzeige von curl.
  2. Mit grep extrahiere ich die Zeile mit den aktuellen Wetterinformationen.
  3. Sed schneidet anschließend den vorderen Teil der Anzeige bis zur Temperatur ab.
  4. Zum Schluss löscht das zweite sed alles ab dem Anführungszeichen hinter der Temperaturangabe.

Ich weiß natürlich, dass die Lösung eher schnell und pragmatisch, denn erweiterbar und robust ist. Ich hoffe, sie zeigt dennoch das Zusammenspiel verschiedener Linux-Tools und die Macht von Pipes.


debian raspberrypi lernen docker Chat Arduino Testverfahren wiki bloggen mooc Usenet rs232 Geschichten software Funktionen xmpp Smarthome 34c3 gamejam Film INN Dortmund Kino Spiele TV Linux IoT Datenbank Newsgroup cloud c't Wissenschaft Informatik Windows importiert Psychologie sdr RSS ctf screencast audio python ldl Sport Tipp bildung Sketchnotes Comic Spaß GPIO heise Text serielle Schnittstelle Konferenz hacking Tools 35c3 pdf Studium ubuntu kunst Tafelbild e-mail Termin dtp Bilder Latex bio git programmierung ldlmooc Gesellschaft video game-engine workshop esp8266 Clonezilla SciFi 3dDruck NNTP das-labor Commandline podcast buch ZDF Linkliste JavaScript hardware Second Life Archiv HP35s badge Mathe Taschenrechner ITA ccc Twitter server admin fun