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.


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