awk
27 März
Termin: 10 April (15 April)
Die folgende Aufgaben sollen mit der Hilfe von Shell Scripts gelöst
werden, die
awk-Scripts benützen.
- Seien drei Parameter in der Kommandozeile gegeben: ein Dateiname, ein
Wort
und eine Zahl (n).
Zeigen Sie am Bildschirm die Zeilen der gegebenen Datei an, die das gegebene
Wort,
und wenigstens n Wörter enthalten.
- Zeigen Sie am Bildschirm die Prozeße an, die mehr als 2% der CPU Zeit
benützen.
Die Prozeße sollen nach der benützten Zeitdauer in umgekehrter Reihenfolge
angezeigt
werden. Am Ende soll auch die gesamte Zeitdauer in Sekunden ausgedruckt
werden.
- Zeigen Sie die erste 10 Längste Dateien von einem Verzeichnis und dessen
Unterverzeichnisse
in umgekehrten Reihenfolge nach den Längen an.
- Sei die Datei namens Student.lst gegeben, die eine Liste von Studenten
enthaltet.
Sie hat das folgende Format:
Nachname Vorname Benutzername Gruppe
(die Spalten sind mit Leerzeichen getrennt. Wenn jemand mehrere Vornamen
hat, sind diese mit
"-" zusammengebunden, Bsp.: Schneider Manuel-Georg sm70231 721).
Für jeden Student der sich in der, als erster Parameter gegebenen Gruppe
befindet, soll
den Text der, als zweiter Parameter gegebenen Datei via E-Mail geschickt
werden.
-
Von einem, als Parameter gegebenen Verzeichnis (und dessen
Unterverzeichnisse) zeigen
Sie jede Datei an, die einen anderen Besitzer hat als das Verzeichnis, wo
sie sich befindet.
-
Von den, als Parameter gegebenen Dateien zeigen Sie nur die Zeilen an, die
das gleiche Wort
zweimal nacheinander enthalten. Für jede Datei, die bearbeitet werden soll,
wird (vor der
Bearbeitung) der Dateiname ausgegeben, und auch die Zeilennummer der
ausgegebenen Zeile.
- Sei eine Datei, die Benutzernamen enthaltet, gegeben. Ihr Format ist:
Familienname Vormname Benutzername Jahr Monat Tag
wo "Jahr Monat Tag" das Geburtstagsdatum des entsprecenden Benutzers ist.
Für jeden Benutzer soll an seinem Geburtstag eine E-Mail mit dem Text:
>Herzlichen Glückwunsch zum Geburtstag, Vorname Familienname!
- Sei eine Datei mit dem Ergebnis einer Prüfung gegeben. Ihr Format
ist:
Familienname Vorname Benutzername Note1 Note2 ... Note_n
(Die Anzahl der Noten ist gleich für jeden Benutzer). Erstellen Sie eine
Datei mit
dem Format:
Familienname Vorname Benutzername Mittelwert
wo Mittelwert das arithmetische Mittel der Noten ist.
- Sei eine Datei mit dem Format der Ausgabedatei der Aufgabe 8 gegeben.
Schicken Sie
für jeden Teilnehmer der Prüfung eine E-Mail mit dem Text:
Liebe Vorname Familienname!
Auf die Lehrfach Prüfung haben Sie Mittelwert Note bekommen.
wo das Lehrfach in der Kommandozeile als Parameter gegeben ist, alle andere
Informationen
befinden sich in der Eingabedatei.
- Für die, als Parameter gegebenen Dateien, zeigen Sie die maximale Anzahl
der nacheinander folgenden
gleichen Zeilen, diese Zeile und den Dateinamen, in welche diese Zeile ist,
am Bildschirm an.
- Für jede Datei mit Erweiterung .c, .cc oder .h von dem, als Parameter
gegebenen Verzeichnis und dessen
Unterverzeichnisse, zeigen Sie am Bildschirm die durchschittliche Anzahl der
Wörter von einer Zeile an, und am
Ende berechnen Sie einen allgemeinen Mittelwert für alle Dateien.
- Bestimmen Sie den Mittelwert der Briefkasten-Grösse (INBOX) des
Benutzers.
(der Brifkasten (INBOX) des Benutzers
befindet sich im Verzeichnis /var/spool/mail).
Dokumentation:
- awk –
Wikipedia
- awk
– Einführung auf Deutsch