Prof. Dr. Franz Schweiggert Abteilung Angewandte
Informationsverarbeitung 02.11.2005
Norbert Heidenbluth Blatt 3
Allgemeine Informatik I für Mathematiker/Wirtschaftsmathematiker
(WS 2005/2006)
Abgabetermin: 09. November 2005
In diesem Blatt lernen Sie den grundlegenden Umgang mit dem
Editor vi kennen. Insbesondere beschäftigen wir uns diesmal mit
elementaren Editierfunktionen wie Kopieren, Löschen und Duplizieren
von Zeilen und Absätzen sowie mit der Formatierung des Textes.
2005 ist das Schillerjahr! Schiller? Nie gehört? Au weia! Gut, daß
es unsere Informatik-Übungen gibt. Neben profundem Informatik-Wissen
erwerben Sie bei uns nämlich en passant auch eine humanistische
Grundbildung1.
Wie kamen wir jetzt darauf? Ach so, das Informatik-Übungsblatt! Also,
heute werfen wir gleich mal einen Blick über den Tellerrand der
Naturwissenschaften und beschäftigen uns mit dem Gedicht ``Die Bürgschaft''
von Friedrich Schiller. Wir haben es auf unserem FTP-Server
unter dem Dateinamen blatt03.tar
zugänglich
gemacht2.
Vorher lag es allerdings auf einem Rechner, der von einem mysteriösen
Virus befallen war3, und deshalb ist
das Gedicht in einem - nunja, sagen wir erbärmlichen Zustand. Ihre
Aufgabe für diese Woche ist, mit Hilfe des vi das Gedicht so zu
korrigieren, bis es wieder der Urfassung entspricht.
Gehen Sie dazu wie folgt vor:
- Laden Sie sich die Datei blatt03.tar
von
unserem FTP-Server herunter und packen Sie das Archiv aus.
Das Gedicht müsste Ihnen nun in 5 einzelnen Dateien mit jeweils
4 Strophen vorliegen.
- Öffnen Sie zum Bearbeiten der nachstehenden Teilaufgaben nun
die jeweiligen Dateien mit dem vi - oder besser gleich
mit dem vim, dem ``verbesserten VI'' (vim steht für
``vi improved!'').
- Gleich auf den ersten Blick sieht man, daß die ersten vier Strophen
kräftig durcheinandergekommen sind. Bringen Sie sie erstmal in die
richtige Reihenfolge!
- In der ersten Strophe sind alle Zeilen doppelt vorhanden.
Löschen Sie die Duplikate.
- Daß in der dritten Strophe jede Menge Wurstnamen versteckt
sind, können Sie sich nur damit erklären, daß dieses
Übungsblatt wohl zur Mittagszeit entstanden sein muß und
der Urheber großen Hunger hatte. Da diese Wurstnamen
dort natürlich nichts zu suchen haben, löschen Sie diese
nacheinander heraus! Springen Sie hierbei möglichst effizient
durch die Strophe.
- In der vierten Strophe ist das Versmaß irgendwie nicht mehr in
Ordnung. Als alter VI-Hase können Sie dies aber leicht wieder
herstellen!
- Da Sie für diese Teilaufgabe jetzt die Zeilennummerierung
benötigen, schalten Sie diese zunächst ein.
- Springen Sie nun in die Zeile 17. Die Strophennummerierung
ist hier in römischen Ziffern angegeben. Machen Sie daraus
wieder eine arabische Zahl.
- Der Inhalt von Zeile 26 ist doppelt vorhanden. Positionieren
Sie sich hinter die erste Hälte und löschen Sie in einem
Rutsch den Rest der Zeile.
- Die sechste Strophe ist leider ``von unten nach oben'' dargestellt.
Bitte bringen Sie die Zeilen dieser Strophe in die richtige
Reihenfolge
- Die Zeilen 11 und 13 sind vertauscht. Bringen Sie auch diese wieder
in die richtige Reihenfolge!
- Die Zeilen 28 bis 36 sind irgendwie überflüssig. Löschen Sie
sie in nur einem Befehl.
- Schalten Sie die Zeilennummerierung nun wieder ab.
- Diese Strophen wurden uns aus dubiosen Quellen zugespielt
und sind voll von Werbung. Schauen Sie sich diese Werbung
zunächst an, indem Sie gezielt nach ihr suchen4 und dorthin springen.
- Da Werbung nervt: entfernen Sie nun alle Werbetexte.
- In Strophe 14 sind die Zeilen wiedereinmal durcheinander
geraten. Zum Glück hatte sie irgendjemand aber vorher nummeriert.
Lassen Sie nun diese Strophe automatisch sortieren.
- Jetzt brauchen wir in Strophe 14 die Zeilennummerierungen ja
nicht mehr. Daher können Sie sie löschen.
- Naja, und der Text der 14. Strophe kann nun auch unmittelbar
hinter dem ``14.'' beginnen, oder?
- In welcher Zeile und in welcher Spalte befindet sich eigentlich
das Wort ``Qualen''?
- Es gibt eine Zeile in dieser Datei, die nur aus einem Tabulatorzeichen
(t) besteht. Suchen Sie nach dieser Zeile! Achtung: Für diese Aufgabe müssen Sie mit dem vim arbeiten!
- Sie finden die Strophen 17 bis 20 in der Datei namens
rest.txt, doch in dieser sind auch noch ein paar extra
Zeilen zu Beginn und am Ende, die nichts mit dem Gedicht zu
tun haben. Lassen Sie daher ausschließlich die Strophen
des Gedichts in eine neue Datei namens strophe17-20.txt
schreiben.
- Nun sind (hoffentlich) alle Strophen so, wie sie sein sollten.
Führen Sie nun die einzelnen Dateien zu einer großen Datei
namens buergschaft.txt zusammen, die das gesamte Gedicht
(mit der richtigen Reihenfolge der Strophen) enthält.
- Die zweite Datei auf unserem FTP-Server (komplett.txt) können Sie nun als dafür Kontrolle verwenden,
ob Sie richtig gearbeitet haben. Dazu dient Ihnen unter UNIX
das Kommand diff. Finden Sie mit Hilfe der Manual-Seiten
heraus, was das Kommand diff genau macht und wie es
verwendet wird. Wenden Sie es dann auf die beiden Gedichtdateien
an.
- Falls es noch Unterschiede geben sollte: Korrigieren Sie Ihre
Gedichtdatei solange, bis diff keine Unterschiede mehr
finden kann.
- Lernen Sie das Gedicht bis Weihnachten auswendig. Dafür bekommen
Sie zwar keine Punkte in Informatik, aber es gibt Ihnen das
sichere Gefühl, etwas für Ihre humanistische Allgemeinbildung
getan zu haben.
- Die Aufgaben auf diesem Blatt sind weder thematisch noch nach
Schwierigkeitsgrad irgendwie sortiert. Die Reihenfolge der
Bearbeitung ist also weitgehend beliebig (bis auf die Sache
mit dem diff am Ende natürlich!).
- Eine hervorragende Einführung in den vi gibt Ihnen der
VI-Tutor, der auf unseren Maschinen installiert ist (Kommando:
``vitutor'').
- Unter UNIX gibt es das Kommando sort, das seine Eingabe
sortiert auf die Standardausgabe schreibt. Vielleicht kann Ihnen
das ja bei einer Teilaufgabe nützlich sein.
Hmm, na gut, noch einen Tip: Der VI-Befehl ``!'' würde
zum Beispiel den Inhalt von der aktuellen Cursor-Position bis
zum Ende des Absatzes als Eingabe an das Kommando geben
und durch dessen Ergebnis (Ausgabe) ersetzen. Ein Beispiel
dafür sehen Sie in den Übungen.
- Wenn Sie das Kommando diff an einer Stelle in die
Verzweiflung treiben sollte, dann schauen Sie sich nochmal die
Teilaufgabe an, die sich auf die relevante Zeile bezieht. Denn
diff nimmt es sehr genau!
Viel Erfolg!
Fußnoten
- ...
Grundbildung1
- Und sie lernen, durch die beiläufige Verwendung
französischer Redewendungen zu imponieren! Magnifique!
- ...
gemacht2
- Der vollständige Pfad lautet:
ftp://ftp.mathematik.uni-ulm.de/pub/vorlesungen/ws05/ai1/uebungen/blatt3/bsp/blatt03.tar
- ... war3
- Warum bloß? Anna (19) hatte doch im Anhang
ihrer Mail nur ein Bild von sich geschickt
- ... suchen4
- Soll
heißen: Suchen Sie nach dem Vorkommen des Wortes ``Werbung''!
Norbert Heidenbluth
2005-11-02