Skriptprogrammierung < Linux, UNIX, BSD, POSIX < Betriebssysteme < Praxis < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 12:33 Mo 24.05.2010 | Autor: | anna_h |
Aufgabe | Eine Eisenbahngesellschaft muss sparen und setzt deshalb Linux in der EDV ein. Skript abfahrt: abfahrt Lorsch Heidelberg 15
Diesem Skript abfahrt werden die namen des Bahnhofes, an dem die Fahrt beginnen soll, der Name des Zielbahnhofes und die UHrzeit (volle Stundenzahl) der Abfahrt übergeben. (Im obigen beispiel werden die Abfahrtszeiten der Fahrten von Lorsch nach Heidelberg gesucht, die irgendwann zwischen 15:00 und 15:59 stattfinden).
fahrplan.dat sieht aussnittsweise so aus:
ab 11:00 an 11:20 von Heidelberg nach Stuttgart
ab 11:10 an 12:30 von Muenchen nach Frankfurt
...
ab 15:20 an 15:40 von Heidelberg nach Lorsch
ab 15:25 an 15:45 von Lorch nach Heidelberg
ab 15:35 an 15:55 von Lorsch nach Heidelberg
Aufgabe: Schreiben Sie ein Skript abfahrt, so wie es oben beschrieben wurde. Ausgegeben werden die unveränderten (kompletten) Zeilen der Fahrplandatei.
Fehlerbehandlung: Sie brauchen keine besonderen Maßnahmen zur Erkennung von Fehleingaben zu treffen. |
Das ist die Aufgaben. Ich habe leider keinen Plan wie ich da rangehen sollte. Ich wäre euch für einen Ansatz oder den Anfang der Lösung sehr dankbar.
Vielen Dank schonmal für eure Mühe
|
|
|
|
Hallo!
Jetzt müßte man noch wissen, was für ein script das sein soll. Python? bash? zsh? Ruby? Pearl?
Generell könnte diese Aufgabe eine einzelne Zeile erledigen:
cat fahrplan.dat |grep "Lorsch nach Heidelberg" |grep 15:
(Das geht sicher auch eleganter...)
Dieses gibt den Inhalt der Datei an den ersten grep-Befehl raus. Dieser läßt nur die Zeilen durch, die "Lorsch nach Heidelberg" enthalten. Diese Zeilen werden an den zweiten grep-Befehl weitergeleitet, der nur Zeilen mit den richtigen Urhrzeiten rausgibt.
Der Doppelpunkt sorgt dafür, daß nur "15 Stunden", und nicht "viertel nach" wie in 13:15 gefunden wird.
Das Endergebnis wird dann auf den Bildschirm ausgegeben.
Jetzt müßtest du noch rausfinden, wie das mit den Übergabeparametern funktioniert...
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 13:03 Mo 24.05.2010 | Autor: | anna_h |
Also vielen Dnak schonmal. es muss ein bash-skpript sein.
deshalb siehtg bei uns die erste Zeile Standartmässig so aus:
#I/bin/bash
Was genau meinst du mit übergabeparameter.
Und ich habe noch eine kleine Frage: wie stelle ich sicher, das er alle lösungen ausgibt und nicht nach der ersten richtigen aufgört?
Gruß,
Anna
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 13:06 Mo 24.05.2010 | Autor: | anna_h |
Die erste zeile heisst nicht #I/bin/bash sondern #!/bin/bash
|
|
|
|
|
Hallo!
Du sollst ja sowas wie
abfahrt Lorsch Heidelberg 15
eintippen können. 'abfahrt' ist dabei der Dateiname deines Scripts, und dann gibst du ihm noch drei Parameter (oder besser: Argumente) 'Lorsch', 'Heidelberg' und '15' mit. Die sind innerhalb der Datei dann in $1, $2, $3 gespeichert.
|
|
|
|