McGizmo
Enthusiast
Schönen guten Abend, werte Linux User.
Für unsere Linux Vorlesung mache ich mir ein paar Gedanken zu einem Programm das wir im Shellskript schreibe sollen. Und irgendwie... kann ich mich damit einfach nicht so ganz anfreunden. Ich hab's jetzt einfach mal in Java geschrieben und versuche das in's Shellskript umzusetzen. Das Prinzip ist reicht einfach, es geht um Folgendes.
Wir sollen ein Programm schreiben, dass Wetterdaten (bzw. Temperatur) aus dem Internet zieht und grafisch stündlich aktualisiert darstellt. Mir geht es jetzt um die zugrundeliegende "Temperatur extrahieren" Logik.
Ich mache das (in Java) wie folgt - Ich ziehe mir den für die Stadt passenden RSS Stream von wunderground.com (mit etwas Code der im Endeffekt Wget nachmacht). Die gesaugten XMLs sind immer gleich formatiert, also extrahiere ich in einer Folge von Stringoperationen die entsprechende Zeile und lasse mir daraus die Zahl (also z.B. 17.3) parsen. So ganz grob gesagt.
Jetzt der Port auf Linux ... das XML mit WGet ziehen ist kein Ding, das bekomme ich gerade noch hin. Was sind jetzt aber passende Linux Kommandos, um mir die Zahl zu extrahieren?
Der Teil der Temperatur sieht jetzt z.B. so aus:
& # 1 7 6 ; C (natürlich ohne Leerzeichen, musste die aber Einbauen damit das hier nicht als °C geparst wird)
Ich will aus einem File eine Zeile suchen (bzw. eine Zeile [ich weiß die wievielte Zeile es ist] extrahieren). Diese Zeile durchsuche ich nach einer Zeichenkette, und zwar "°C". Nun sollen alle Zahlen zwischen führendem Leerzeichen und & (hier im Bsp. also 18, muss aber auch für 16.3 oder -11.2 funktionieren) extrahiert und in eine Variable gespeichert werden.
Das Problem ist ... Java Befehle kenne ich. Befehle für die Linux Shell eher weniger ...
Kann mir da wer ein paar Fingerzeige geben? Grundsätzliche Befehle reichen, einlesen kann ich mich dann (hoffentlich) selber ...
Für unsere Linux Vorlesung mache ich mir ein paar Gedanken zu einem Programm das wir im Shellskript schreibe sollen. Und irgendwie... kann ich mich damit einfach nicht so ganz anfreunden. Ich hab's jetzt einfach mal in Java geschrieben und versuche das in's Shellskript umzusetzen. Das Prinzip ist reicht einfach, es geht um Folgendes.
Wir sollen ein Programm schreiben, dass Wetterdaten (bzw. Temperatur) aus dem Internet zieht und grafisch stündlich aktualisiert darstellt. Mir geht es jetzt um die zugrundeliegende "Temperatur extrahieren" Logik.
Ich mache das (in Java) wie folgt - Ich ziehe mir den für die Stadt passenden RSS Stream von wunderground.com (mit etwas Code der im Endeffekt Wget nachmacht). Die gesaugten XMLs sind immer gleich formatiert, also extrahiere ich in einer Folge von Stringoperationen die entsprechende Zeile und lasse mir daraus die Zahl (also z.B. 17.3) parsen. So ganz grob gesagt.
Jetzt der Port auf Linux ... das XML mit WGet ziehen ist kein Ding, das bekomme ich gerade noch hin. Was sind jetzt aber passende Linux Kommandos, um mir die Zahl zu extrahieren?
Der Teil der Temperatur sieht jetzt z.B. so aus:
& # 1 7 6 ; C (natürlich ohne Leerzeichen, musste die aber Einbauen damit das hier nicht als °C geparst wird)
Ich will aus einem File eine Zeile suchen (bzw. eine Zeile [ich weiß die wievielte Zeile es ist] extrahieren). Diese Zeile durchsuche ich nach einer Zeichenkette, und zwar "°C". Nun sollen alle Zahlen zwischen führendem Leerzeichen und & (hier im Bsp. also 18, muss aber auch für 16.3 oder -11.2 funktionieren) extrahiert und in eine Variable gespeichert werden.
Das Problem ist ... Java Befehle kenne ich. Befehle für die Linux Shell eher weniger ...
Kann mir da wer ein paar Fingerzeige geben? Grundsätzliche Befehle reichen, einlesen kann ich mich dann (hoffentlich) selber ...
Zuletzt bearbeitet: