Textverarbeitung in der Unix-Shell
Übungen

Peter Keel,
Király András


Inhalt

























Erklärungen

Übungen zur Dateiverwaltung

Verzeichnis erzeugen

Benötigte Befehle: mkdir
  1. Erzeuge ein neues Verzeichnis ''test_dir''.

Leere Datei erzeugen

Benötigte Befehle: cd, touch
  1. Wechsle in das Verzeichnis ''test_dir''.
  2. Erzeuge eine leere Datei ''test.txt''.

Datei umbenennen/kopieren

Benötigte Befehle: mv
  1. Benenne ''test.txt'' in ''neu_test.txt'' um.
  2. Kopiere ''new_test.txt'' nach ''test.txt''.

Datei/Verzeichnis löschen

Benötigte Befehle rm, rmdir
  1. Lösche ''test.txt'' und ''new_test.txt''.
  2. Lösche das Verzeichnis ''test_dir''.

Übungen zu den Unix Text-Tools

Texte formatieren

Benötigte Befehle: fold
  1. Formatiere den Text ''COPYING'' so, dass nicht mehr
    alles auf einer Zeile ist.
  2. Was fällt Dir auf?
  3. Wie kann man diesen Effekt beheben?

Sortieren

Benötigte Befehle: sort
  1. Sortiere die Datei ''steuerfuesse.txt'' nach:
    1. der BFS Nummer (Kolonne 1)
    2. dem Steuerfuss absteigend und
      aufsteigend (Kolonne 3)
    3. alphabetisch nach dem Gemeindenamen
      absteigend und aufsteigen
    4. nach dem Steuerfuss und alphabetisch nach dem Namen,
      absteigend und aufsteigend
  2. Was fällt Dir bei b) und d) auf?

Wörter zählen

Benötigte Befehle: wc
  1. Wieviel Wörter gibt es in ''COPYING''?
  2. Wieviele Zeilen gibt es in ''COPYING''?
  3. Wieviele Zeilen hat es in ''COPYING'', wenn man ihn mit fold
    so bearbeitet, dass keine Wörter verstümmelt werden?

Anfang und Ende einer Datei

Benötigte Befehle: head, tail
  1. Welche sind die ersten 15 Zeilen von ''steuerfuesse.txt''?
  2. Welche sind die letzten 15 Zeilen von ''steuerfuesse.txt''?

Wörter finden

Benötigte Befehle: grep
  1. Welche Orte in ''steuerfuesse.txt'' enden auf ''-ikon''?
  2. Welche Orte in ''steuerfuesse.txt'' enden auf ''-ikon'', aber nicht auf ''-tikon''??

Dateien zerteilen

Benötigte Befehle: split
  1. Zerlege ''steuerfuesse.txt'' in Dateien, die je 10 Zeilen haben.

Histogramm

Benötigte Befehle: tr, sort, uniq
  1. Zerlege ''COPYING'' so, dass jedes Wort auf eine Linie kommt.
    Tipp: Alles, was kein Buchstabe zwischen A-Z und a-z ist soll durch '$\backslash$012' ersetzt werden.
  2. Ergänze die Befehlskette so, dass die Ausgabe alphabetisch (ohne Rücksicht auf Gross-/Kleinschreibung) sortiert wird
  3. Ergänze die Befehlskette mit dem Befehl so, dass nun vor jedes Wort die Häufigkeit gesetzt wird.
    Die Gross-und Kleinschreibung sollte wiederum ignoriert werden.
  4. Zu guter Letzt, sollte die Ausgabe wiederum alphabetisch nach den Wörtern sortiert werden.

Lösungen

Verzeichnis erzeugen

  1. mkdir test_dir

Leere Datei erzeugen

  1. cd test_dir
  2. touch test.txt

Datei umbenennen/kopieren

  1. mv test.txt neu_test.txt
  2. cp new_test.txt test.txt

Datei/Verzeichnis löschen

  1. rm test.txt new_test.txt
  2. rmdir test_dir

Texte formatieren

  1. fold COPYING
  2. Trennungen gehen oft mitten durch die Wörter
  3. fold -s COPYING

Sortieren

  1. sort -n steuerfuesse.txt
  2. sort +2n steuerfuesse.txt / sort +2rn steuerfuesse.txt
  3. sort +1 steuerfuesse.txt / sort +1r steuerfuesse.txt
  4. sort +2n +1 steuerfuesse.txt

Wörter zählen

  1. wc -w COPYING
  2. wc -l COPYING (1)
  3. fold -s COPYING $\vert$ wc -l (239)

Anfang und Ende einer Datei

  1. head -n 15 steuerfuesse.txt
  2. tail -n 15 steuerfuesse.txt

Wörter finden

  1. grep ikon steuerfuesse.txt
  2. grep ikon steuerfuesse.txt $\vert$ grep -v tikon

Dateien zerteilen

  1. split -l 10 steuerfuesse.txt

Histogramm

  1. cat COPYING $\vert$ tr -sc A-Za-z '$\backslash$012'
  2. cat COPYING $\vert$ tr -sc A-Za-z '$\backslash$012' $\vert$ sort -f
  3. cat COPYING $\vert$ tr -sc A-Za-z '$\backslash$012' $\vert$ sort -f $\vert$ uniq -ic
  4. cat COPYING $\vert$ tr -sc A-Za-z '$\backslash$012' $\vert$ sort -f $\vert$ uniq -ic $\vert$ sort +1f
Seegras 2003-01-11