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.

162 2 <strong>UNIX</strong><br />

• split spaltet e<strong>in</strong> File <strong>in</strong> gleich große Teile<br />

• ssp entfernt mehrfache leere Zeilen<br />

• tr translate, ersetzt Zeichen<br />

• uniq f<strong>in</strong>det wiederholte Zeilen <strong>in</strong> e<strong>in</strong>em sortierten File<br />

• vis zeigt e<strong>in</strong> File an, das unsichtbare Zeichen enthält<br />

• wc word counter, zählt Zeichen, Wörter, Zeilen<br />

Die Liste läßt sich durch eigene Werkzeuge beliebig erweitern. Das können<br />

Programme oder Shellscripts se<strong>in</strong>. Hier e<strong>in</strong> Beispiel zur Beantwortung e<strong>in</strong>er<br />

zunächst anspruchsvoll ersche<strong>in</strong>enden Fragestellung mit e<strong>in</strong>fachen Mitteln.<br />

E<strong>in</strong> Sachtext soll nicht unnötig schwierig zu lesen se<strong>in</strong>, die Sachzusammenhänge<br />

s<strong>in</strong>d schwierig genug. E<strong>in</strong> grobes Maß für die Lesbarkeit e<strong>in</strong>es<br />

Textes ist die mittlere Satzlänge. Erfahrungsgemäß s<strong>in</strong>d Werte von zehn bis<br />

zwölf Wörtern pro Satz für deutsche Texte zu empfehlen. Wie kann e<strong>in</strong>e Pipe<br />

aus <strong>UNIX</strong>-Werkzeugen diesen Wert ermitteln? Schauen wir uns das Vorwort<br />

an. Als erstes müssen die LaTeX-Konstrukte herausgeworfen werden. Hierfür<br />

gibt es e<strong>in</strong> Programm delatex, allerd<strong>in</strong>gs nicht standardmäßig unter <strong>UNIX</strong>.<br />

Dann sollten Leerzeilen entfernt werden – Werkzeug rmnl(1) – sowie e<strong>in</strong>ige<br />

Satzzeichen – Werkzeug tr -d. Schließlich muß jeder Satz <strong>in</strong> e<strong>in</strong>er eigenen<br />

Zeile stehen. Wir ersetzen also alle L<strong>in</strong>efeed-Zeichen (ASCII-Nr. 10, oktal 12)<br />

durch Leerzeichen und danach alle Punkte durch L<strong>in</strong>efeeds. E<strong>in</strong> kle<strong>in</strong>er Fehler<br />

entsteht dadurch, daß Punkte nicht nur e<strong>in</strong> Satzende markieren, aber bei<br />

e<strong>in</strong>em durchschnittlichen Text ist dieser Fehler ger<strong>in</strong>g. Schicken wir den so<br />

aufbereiteten Text durch das Werkzeug wc(1), so erhalten wir die Anzahl<br />

der Zeilen gleich Anzahl der Sätze, die Anzahl der Wörter (wobei e<strong>in</strong> Wort e<strong>in</strong><br />

maximaler Str<strong>in</strong>g begrenzt durch Leerzeichen, Tabs oder L<strong>in</strong>efeeds ist) und<br />

die Anzahl der Zeichen im Text. Die Pipe sieht so aus:<br />

cat textfile | rmnl | tr -d ’[0-9],;"()’ |<br />

tr ’\012’ ’\040’ | tr ’.’ ’\012’ | wc<br />

Programm 2.27 : Shellscript zur Stilanalyse<br />

Die Anzahl der Wörter geteilt durch die Anzahl der Sätze liefert die mittlere<br />

Satzlänge. Die Anzahl der Zeichen durch die Anzahl der Wörter ergibt die<br />

mittlere Wortlänge, <strong>in</strong>folge der Leerzeichen am Wortende erhöht um 1. Auch<br />

das ist e<strong>in</strong> Stilmerkmal. Die Ergebnisse für das Vorwort (ältere Fassung) s<strong>in</strong>d<br />

29 Sätze, 417 Wörter und 3004 Zeichen, also e<strong>in</strong>e mittlere Satzlänge von<br />

14,4 Wörtern pro Satz und e<strong>in</strong>e mittlere Wortlänge (ohne Leerzeichen) von<br />

6,2 Zeichen pro Wort. Zählt man von Hand nach, kommt man auf 24 Sätze.<br />

Die Punkte bei den Zahlenangaben verursachen den Fehler. Man müßte das<br />

Satzende genauer def<strong>in</strong>ieren. Die erste Verbesserung des Verfahrens wäre,<br />

nicht nur die Mittelwerte, sondern auch die Streuungen zu bestimmen. Hierzu<br />

wäre der awk(1) zu bemühen oder gleich e<strong>in</strong> C-Programm zu schreiben.<br />

Das Programm liefert nur Zahlen; ihre Bedeutung erhalten sie, <strong>in</strong>dem man<br />

sie zu Erfahrungswerten <strong>in</strong> Beziehung setzt. Soweit sich Stil durch Zahlen

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!