Die Bourne-Shell (cygwin), UNIX- Tools und treetagger Seminar: Strukturierung und Analyse...

15
Die Bourne-Shell (cygwin), UNIX-Tools und treetagger Seminar: Strukturierung und Analyse linguistischer Korpusdaten Leiter: Leiter: Dr. Christian Riepl und Dr. Stephan Lücke Referentin: Olga Zabolotskykh Datum: 18.01.2016

Transcript of Die Bourne-Shell (cygwin), UNIX- Tools und treetagger Seminar: Strukturierung und Analyse...

Page 1: Die Bourne-Shell (cygwin), UNIX- Tools und treetagger Seminar: Strukturierung und Analyse linguistischer Korpusdaten Leiter: Leiter: Dr. Christian Riepl.

Die Bourne-Shell (cygwin), UNIX-Tools und treetagger

Seminar: Strukturierung und Analyse linguistischer KorpusdatenLeiter: Leiter: Dr. Christian Riepl und Dr. Stephan LückeReferentin: Olga ZabolotskykhDatum: 18.01.2016

Page 2: Die Bourne-Shell (cygwin), UNIX- Tools und treetagger Seminar: Strukturierung und Analyse linguistischer Korpusdaten Leiter: Leiter: Dr. Christian Riepl.

Was ist Shell?

• Weil die direkte Kommunikation mit dem Betriebssystem-Kern (UNIX) für einen Benutzer viel zu komplex wäre, ist eine vereinfachte Benutzer-Schnittstelle erforderlich.

• Die Rolle dieser Schnittstelle spielt Shell.• Der englische Ausdruck Shell, zu Deutsch etwa

Schale, drückt diesen Sachverhalt bereits aus.• Jedenfalls lässt sich eine Shell als eine Schicht

zwischen Betriebssystem und Benutzer verstehen.

Page 3: Die Bourne-Shell (cygwin), UNIX- Tools und treetagger Seminar: Strukturierung und Analyse linguistischer Korpusdaten Leiter: Leiter: Dr. Christian Riepl.

Diese Schicht kann folgenderweise veranschaulicht werden

Page 4: Die Bourne-Shell (cygwin), UNIX- Tools und treetagger Seminar: Strukturierung und Analyse linguistischer Korpusdaten Leiter: Leiter: Dr. Christian Riepl.

Die wichtigsten Vertreter

sh: Bourne Shell Die Mutter aller Shells

csh: C-Shell Shell mit C-aehnlicher Syntax

ksh: Korn Shell Maechtige, C-orientierte Shell (Solaris)

zsh: Z-ShellErweiterte, komfortableShell, Bash kompatibel

bash: Bourne Again SH Erweiterte, komfortable Bourne Shell

Page 5: Die Bourne-Shell (cygwin), UNIX- Tools und treetagger Seminar: Strukturierung und Analyse linguistischer Korpusdaten Leiter: Leiter: Dr. Christian Riepl.

Cygwin-Shell

• Drei Kanäle für den Datenfluss:

• Den Standardeingabe- (stdin)• Standardausgabe- (stdout)• und Standardfehlerkanal (stderr)-

• Normalerweise erfolgt die Eingabe von Befehlen und/oder Text über die Tastatur (Standardeingabe).

• Alles, was Cygwin produziert, wird auf dem Standardausgabekanal, dem Bildschirm (im Cygwin-Fenster) ausgegeben und ist unter Umständen schon dann „verloren“, wenn der Text durch die Ein-/Ausgabe weiterer Befehle/Ergebnisse am oberen Rand des Cygwin-Fensters verschwunden ist.

• Der Standardfehlerkanal ist nur im Rahmen der Shell-Programmierung wichtig; auf ihn soll hier nicht näher eingegangen werden.

Page 6: Die Bourne-Shell (cygwin), UNIX- Tools und treetagger Seminar: Strukturierung und Analyse linguistischer Korpusdaten Leiter: Leiter: Dr. Christian Riepl.

Die Standardeingabe, die Standardausgabe und die Standardfehlerausgabe kann man umlenken, d.h. man kann z.B. aus einer Datei statt von der Tastatur lesen oder in eine Datei statt auf das Terminal schreiben.

Für die Eingabeumlenkung gibt es das  "<"-Zeichen (Kleinerzeichen):

wc -l < test.txt

liest aus der Datei test.dat und schreibt das Ergebnis auf den Bildschirm.

(Anmerkung: das Kommando wc gibt die Anzahl der Zeichen, Wörter und Zeilen der Datei test.txt zurück)

Obiges Kommando hätte man allerdings auch folgenderweise aufrufen können:

wc -l test.txt

Page 7: Die Bourne-Shell (cygwin), UNIX- Tools und treetagger Seminar: Strukturierung und Analyse linguistischer Korpusdaten Leiter: Leiter: Dr. Christian Riepl.

Für die Ausgabeumlenkung benutzt man das Größerzeichen, also ">":

ls > dir.txt

ls liefert den Inhalt des aktuellen Verzeichnisses, also die Namen der Dateien und der Unterverzeichnisse. Die Umlenkung bewirk, dass das Ergebnis in dir.txt gespeichert wird. Falls die Datei vor dem Aufruf bereits existierte, wird sie mit dem neuen Inhalt überschrieben

In vielen Fällen möchte man jedoch die Ausgaben eines Kommandos an eine bestehende Datei hinten anhängen. Dies ist bei Logdateien im Prinzip der Normalfall. Dies lässt sich ganz einfach bewerkstelligen, statt eines Größerzeichens benutzt man zwei Größerzeichen ">>“:

ls >> dir.txt

Page 8: Die Bourne-Shell (cygwin), UNIX- Tools und treetagger Seminar: Strukturierung und Analyse linguistischer Korpusdaten Leiter: Leiter: Dr. Christian Riepl.

PIPES

• Eine der großen Stärken von Linux (Unix) liegt in der Möglichkeit, Kommandos beliebig zu neuen Komandos zu kombinieren.

• Die Hintereinanderausführung von Kommandos nennt man Pipe (englisch: Röhre). Unter Hintereinanderausführung versteht man, dass die Ausgaben des ersten (zeitlich) Programmes als Eingaben für das nächste Programm verwendet werden.

•Der senkrechte Balken (|) verbindet die Kommandos zu einer Pipe.

• kommando1 | kommando2 | kommando 3

• Zum Beispiel:

• ls | less

Page 9: Die Bourne-Shell (cygwin), UNIX- Tools und treetagger Seminar: Strukturierung und Analyse linguistischer Korpusdaten Leiter: Leiter: Dr. Christian Riepl.

Häufig verwendete BefehleBefehl Beispiel Beschreibung

wget wget http:// Internetseite auf Festplatte kopieren

cat cat datei1.txt datei2.txt den Inhalt der beiden Dateien wird unmittelbar hintereinander geschrieben und auf dem Bildschirm ausgegeben

paste paste datei1.txt datei2.txt Zusammenfügung von zwei oder mehr Dateien in der Weise, dass die korrespondierenden Zeilen jeder Datei zu jeweils einer Zeile zusammengefügt werden, wobei zwischen den Ausgangszeilen jeweils ein Tabulator gesetzt wird.

cd cd /tmp Wechselt in das genannte Verzeichnis (change directory)

cmp cmp [OPTION]... FILE1 FILE2 Vergleicht zwei Dateien auf Übereinstimmung (compare two files byte by byte)

Page 10: Die Bourne-Shell (cygwin), UNIX- Tools und treetagger Seminar: Strukturierung und Analyse linguistischer Korpusdaten Leiter: Leiter: Dr. Christian Riepl.

Befehl Beispiel Beschreibung

cut cut -c 4-10 text.txt schneidet von jeder Zeile eine zu definierende Anzahl von Buchstaben/Zeichen oder Spalten aus.

file file datei.txt liefert Informationen zur Art einer Datei und, im Fall, dass es sich um eine Textdatei handelt, zur darin verwendeten Zeichen- und Zeilenende-Kodierung.

grep grep –i regexp datei.txt „global/regular expression/print”.Durchsucht Datei nach einem regulären Ausdruck und gibt passende Zeilen aus.i – Groß/Kleinschreibung ingnorieren.

less less datei.txt eine bestimmte Anzahl Zeilen einer Datei anzeigen

od od datei.txt gibt den Inhalt der Datei in Zahlengestalt aus, wobei in der Standardeinstellung für die Darstellung der Zahlen das oktale Zahlensystem verwendet wird

Page 11: Die Bourne-Shell (cygwin), UNIX- Tools und treetagger Seminar: Strukturierung und Analyse linguistischer Korpusdaten Leiter: Leiter: Dr. Christian Riepl.

Befehl Beispiel Beschreibung

pwd pwd gibt das aktuelle Verzeichnis aus (print working directory)

ls ls –l /verzeichnisls – a /verzeichnis

Gibt den Inhalt eines Verzeichnisses aus (list);-l - langes Format-a – auch versteckte Dateien

rm rm datei.txt löscht Datei (remove)

rmdir rmdir verzeichnisrmdir –p verzeichnis

Verzeichnis löschen (remove directory);-p (parents) – Verzeichnisbaum löschen, wenn es leer

sed sed regexp/replace Nicht-interaktiver Editor ,verändert die Originaldatei nicht! Es schreibt lediglich das Ergebnis der Befehlsausführung auf die Standardausgabe

sort sort datei.txtsort – r datei.txtsort – n datei.txt

sortiert Datei,-r – rückwärts sortieren-n – numerisch sortieren

Page 12: Die Bourne-Shell (cygwin), UNIX- Tools und treetagger Seminar: Strukturierung und Analyse linguistischer Korpusdaten Leiter: Leiter: Dr. Christian Riepl.

Befehl Beispiel Beschreibung

tail tail datei.txt Gibt die letzten Zeilen einer Datei aus

head head datei.txt Gibt die ersten Zeilen einer Datei aus

wc wc –c datei.txtwc –m datei.txtwc –l datei.txtwc –w datei.txt

Gibt die Anzahl der Bytes ausGibt die Anzahl der Zeichens ausGibt die Anzahl der Zeilen ausGibt die Anzahl des Wörteraus

Page 13: Die Bourne-Shell (cygwin), UNIX- Tools und treetagger Seminar: Strukturierung und Analyse linguistischer Korpusdaten Leiter: Leiter: Dr. Christian Riepl.

Treetagger• Die TreeTagger ist ein Tool für automatische

Lemmatisierung und Part-of-speech-Tagging • Entwickler – Helmut Schmid, Institut für

Computerlinguistik an der Universität Stuttgart• Sprachen, mit denen TreeTagger „arbeitet“: Deutsch,

Englisch, Französisch, Italienisch, Niederländisch, Spanisch, Bulgarisch, Russisch, Portugiesisch, Galizisch, Chinesisch, Swahili, Slowakisch, Slowenisch, Latein, Estnisch, Polnisch und Altfranzösisch.

• http://www.cis.uni-muenchen.de/~schmid/tools/TreeTagger/

Page 14: Die Bourne-Shell (cygwin), UNIX- Tools und treetagger Seminar: Strukturierung und Analyse linguistischer Korpusdaten Leiter: Leiter: Dr. Christian Riepl.
Page 15: Die Bourne-Shell (cygwin), UNIX- Tools und treetagger Seminar: Strukturierung und Analyse linguistischer Korpusdaten Leiter: Leiter: Dr. Christian Riepl.

Danke für die Aufmerksamkeit!