24.02.2013 Aufrufe

Einf ¨uhrung in UNIX - CIS

Einf ¨uhrung in UNIX - CIS

Einf ¨uhrung in UNIX - CIS

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

90 2 <strong>UNIX</strong><br />

return 0;<br />

}<br />

putchar(10);<br />

break;<br />

default:<br />

putchar(c);<br />

}<br />

Programm 2.7 : C-Programm zum Ersetzen e<strong>in</strong>es L<strong>in</strong>e-Feed-Zeichens durch<br />

das Paar Carriage-Return, L<strong>in</strong>e-Feed; ferner Voranstellen e<strong>in</strong>iger Drucker-<br />

Steuerberfehle<br />

Shellscript und C-Programm s<strong>in</strong>d nicht die Hohe Schule der Programmierung,<br />

aber hilfreich. Das folgende Beispiel zeigt, wie man e<strong>in</strong>e längere Pipe <strong>in</strong><br />

e<strong>in</strong> Shellscript verpackt:<br />

# Shellscript frequenz, Frequenzwoerterliste<br />

cat $* |<br />

tr [A-Z] [a-z] |<br />

tr -sc "[a-z]" "[\012*]" |<br />

sort |<br />

uniq -c |<br />

sort -nr<br />

Programm 2.8 : Shellscript Frequenzwörterliste<br />

Dieses Shellscript – <strong>in</strong> e<strong>in</strong>em File namens frequenz – nimmt die Namen<br />

von e<strong>in</strong>em oder mehreren Textfiles als Argument entgegen, liest die<br />

Files mittels cat, ersetzt alle Großbuchstaben durch Kle<strong>in</strong>buchstaben, ersetzt<br />

weiterh<strong>in</strong> alle Zeichen, die ke<strong>in</strong>e Buchstaben s<strong>in</strong>d, durch L<strong>in</strong>efeeds (d.<br />

h. schreibt jedes Wort <strong>in</strong> e<strong>in</strong>e eigene Zeile), sortiert das Ganze, wirft mit Hilfe<br />

von uniq mehrfache E<strong>in</strong>tragungen h<strong>in</strong>aus, zählt dabei die E<strong>in</strong>tragungen und<br />

sortiert schließlich die Zeilen nach der Anzahl der E<strong>in</strong>tragungen, die größte<br />

Zahl zuvörderst. Der Aufruf des Scripts erfolgt mit frequenz filenames.<br />

Es ist zugleich e<strong>in</strong> schönes Beispiel dafür, wie man durch e<strong>in</strong>e Komb<strong>in</strong>ation<br />

e<strong>in</strong>facher Werkzeuge e<strong>in</strong>e komplexe Aufgabe löst. Das Zurückführen der<br />

verschiedenen Formen e<strong>in</strong>es Wortes auf die Grundform (Inf<strong>in</strong>itiv, Nom<strong>in</strong>ativ)<br />

muß von Hand geleistet werden, aber e<strong>in</strong>en großen und stumpfs<strong>in</strong>nigen Teil<br />

der Arbeit beim Aufstellen e<strong>in</strong>er Frequenzwörterliste erledigt unser pfiffiges<br />

Werkzeug.<br />

Bere<strong>in</strong>igt man unser Vorwort (ältere Fassung, nicht nachzählen) von allen<br />

LaTeX-Konstrukten und bearbeitet es mit frequenz, so erhält man e<strong>in</strong>e<br />

Wörterliste, deren Beg<strong>in</strong>n so aussieht:<br />

16 der<br />

16 und<br />

9 das<br />

9 die<br />

8 wir<br />

7 mit

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!