Exkurs: Unix Programme

Ähnliche Dokumente
Shell. Oder Konsole suchen im Application Finder. Auch Terminal, Bash oder Kommandozeile genannt. Bash nimmt Befehle entgegen und führt diese aus

Arbeiten mit der Shell Teil 2

Arbeiten mit der Shell Teil 2

Arbeiten mit der Shell Teil 2

Computer & GNU/Linux Einführung Teil 4

Unix/Linux Grundlagen für Einsteiger

Arbeiten mit der Shell Teil 2

Arbeiten mit der Shell Teil 2

UNIX/Linux Lösung. Mär 08, 16 16:11 Seite 1/6

Arbeiten mit der Shell Teil 2

Okt 10, 16 17:29 UNIX/Linux Lösung

UNIX/Linux Lösung. Mär 14, 17 20:40 Seite 1/6. Prozeßsynchronisation (was ist das?, wo kommt es vor?, Beispiel?):

Dateisystem 2, RegEx, Manpages

shell stdio HOWTO.txt

UNIX/Linux Lösung. Mär 18, 18 15:34 Seite 1/6

Einführung Unix Shell

Benutzung der Manpage, Shell Teil 3

Sep 25, 18 8:36 UNIX/Linux Lösung

Hochschule Für Angewandte Wissenschaften FH München Sommersemester Thomas Kolarz. Folie 1.

X Anmelden am System. X System herunterfahren. X Grundlegendes zur Shell. X Das Hilfesystem. X Dateioperationen. X Bewegen im Verzeichnisbaum

UNIX Die wichtigsten Befehle

Okt 02, 17 12:28 UNIX/Linux Lösung

Unix-Grundkurs 1. Thema heute: Shell-Skripten

Vorlesung Unix-Praktikum

Bash-Skripting Linux-Kurs der Unix-AG

Ein- und Ausgabeumlenkung

Programmierwerkzeuge unter Unix

Linux I II III Res/Pro WN/TT Reguläre Ausdrücke Editoren Scripting. Linux II. 2 Linux II. Reguläre Ausdrücke Editoren Scripting. Ressourcen-Vorkurs

Wiederholung und Vertiefung. Programmieren in C. Pointer und so... thoto. /dev/tal e.v. 6. April 2013 (Version vom 11. April 2013) Programmieren in C

Arbeiten in der Unix-Kommandozeile

Teil 1: Einführung in die Shell. Was ist die Shell? Wichtige Kommandos (1) Einführung in die Shell. Grundlagen der Shell-Programmierung

Elementare Unix-Befehle 11

Linux Kommandozeile: Einfache Skripte. 1 Wiederhohlung. 2 Einfache Skripte

Vorsemesterkurs Informatik Sommersemester Aufgabenblatt Nr. 1B

Arbeiten in der Unix-Kommandozeile

Introduction to Linux/bash Carl Herrmann Cancer Regulatory Genomics B080 - DKFZ

Allgemeines. Shell Programmierung Unix. Kommentar. Vorgangsweise. Mag. Thomas Griesmayer

UNIX Grundlagen. Sascha Frank SS August 2006 UNIX I. Sascha Frank. Einführung. Basic Befehle. Quellen

SHELL WE BEGIN? EINE EINFÜHRUNG IN DIE SHELL. Max Rosin - ANKÜNDIGUNGEN

Basiskonzepte des Rechnerbetriebs

Vorlesung Unix-Praktikum

Systemverwaltung mittels Skripts

Versuchsziele. Dateien: a1: abcd Abcd abccd abcccd cbad cab werr werrr

Kurze Einweisung in die Shell

Linux II. Reguläre Ausdrücke Editoren Scripting. 2 Linux II. Linux I II III Res WN/TT NLTK XML Weka E Reguläre Ausdrücke Editoren Scripting

Einführung in Linux Ein Untertitel

Der Standard-Editor vi

Arbeiten in der Unix-Kommandozeile

Grundlagen der Informatik für Ingenieure I

GNU/Linux Introduction Part 2. Simon M. Haller, Sebastian Stabinger iis.uibk.ac.at

Unterschiede in Dateien mit diff

Das CIP der Mathematik

Arbeiten in der Unix-Kommandozeile. PeP et al. Toolbox Workshop

Computer & GNU/Linux Einführung Teil 2

Basiskonzepte des Rechnerbetriebs

Linux I II III Res WN/TT NLTK XML Weka E Theorie Terminal Ein- und Ausgabe. Linux I. 1 Linux I. Theorie Terminal Ein- und Ausgabe. Ressourcen-Vorkurs

Linux Grundlagen Tutorium

Linux eine Einführung

Übung 2 - Betriebssysteme I

Computer & GNU/Linux Einführung Teil 2. Simon Haller iis.uibk.ac.at

Arbeiten mit der Shell Teil 1

Computernutzung für Experimentalphysiker Frei progammierbare Rechner als Werkzeuge in der Experimentalphysik Teil 2

Grundlagen der Programmierung

Vorlesung Unix-Praktikum

Basiskonzepte des Rechnerbetriebs. 6 Die Shell: Der UNIX-Kommandointerpreter

ATB Ausbildung Technische Berufe Ausbildungszentrum Klybeck

L A TEX, Linux, Python

Einführung in die Angewandte Bioinformatik

MASCHINELLE SPRACHVERARBEITUNG Gertrud Faaß Basierend auf Folien von Dr. H Zinsmeister. Einführung in PERL

Linux Kurs Vorlesung 2 - Terminal

Unix-Shells. mehrere Befehle in einer Zeile. bash: Grundlagen. Ein- und Ausgaben umlenken. Befehle: Dateien und Verzeichnisse (1)

Computer & GNU/Linux Einführung Teil 2

Bash-Skripting Linux-Kurs der Unix-AG

Dateisystem 2, Suchen & Finden, Manpages

Technische Praxis der Computersysteme I 3. Vorlesung

Shellkurs Shell, SSH, Skripte... Justus Pfannschmidt, Carola Bothe, Samuel Domiks Freie Universität Berlin

Skripte. Beispiel. M. Fyta Computergrundlagen 73/93

Arzu Sanli Ibrahim Canakci

Pipes. 1 Prozessverwaltung. 2 Pipes. 3 Rechteverwaltung. 4 Secure Shell Fernsteuern anderer Rechner. 5 Kommandos, Kommandos, Kommandos,...

Perl-Praxis. Dateien und Daten. Jörn Clausen

Shell-Scripting Linux-Kurs der Unix-AG

Shell-Scripting Linux-Kurs der Unix-AG

Grundbefehle. LPI Zertifizierung. Auf dem Weg: Certified Linux

Literatur. Einführung in Unix. Login. Passwort. Mag. Thomas Griesmayer. Benutzererkennung und Passwort Case-Sensitiv Prompt

Unix Grundlagen. - ii - Ambit Professional Seminar Series. Autor: Prof. J. Anton Illik Diplom-Informatiker

Es können mehrere Kommandos in der Kommandozeile eingegeben werden Kommandoverkettung.

Material zum Grundlagenpraktikum ITS. eine kleine Linux-Befehlsreferenz. Stand: Oktober 2007 zusammengestellt von: Cornelia Menzel Version 1.

Wichtige UNIX Kommandos

Bash-Scripting Linux-Kurs der Unix-AG

Computer & GNU/Linux Einführung Teil 1. Simon Haller iis.uibk.ac.at

Werkzeuge der Sprachverarbeitung

Da einige Befehle gerne in Vergessenheit geraten werden hier einige essentielle und nützliche Befehle aufgelistet.

Inhaltsverzeich nis Ober den Autor...

grep Tutorial update

D.2 Sonderzeichen (2)

Transkript:

Exkurs: Unix Programme BASIEREND AUF FOLIEN VON Dr. Stefan Rapp (inspiriert von Ken Church s Vorlesung: Unix for poets ) Gertrud Faaβ Universität StuUgart, InsWtut für maschinelle Sprachverarbeitung Azenbergstr. 12, 70174 StuUgart 0711 685 81385 faaszgd@ims.uni stuugart.de 1

Unix Kurzeinführung Mal schnell Tokenisieren Wörter sorweren, zählen n gramme erzeugen suchen Immer mal wieder Shell scripts 2

Unix gawk kann bei Bedarf noch besprochen werden (eigtl. reicht perl für unsere Zwecke) 3

sich im Dateisystem zurechminden ls, cd (ls ltr ausprobieren), ~ = eigenes Heimverzeichnis (~faasz = /home/ /faasz/) pwd = wo bin ich? mkdir, rmdir cp, cp r mv rm i (alias!) echo, cat (concatenate file(s)) FilenamecompleWon: tab Taste 4

Ausgaben beschränken less oder more (seitenweise) head (die 10 ersten Zeilen ausgeben) tail (die letzten 10 Zeilen ausgeben) head 100 die ersten 100 Zeilen ausgeben tail 25 die letzten 25 Zeilen ausgeben tail +2 ab der zweiten Zeile alles ausgeben (nicht head!) 5

Achtung: Gross /Kleinschreibung Manpages = man ls NAME (Kommandoname, Kurzbeschreibung) SYNOPSIS (Syntax) DESCRIPTION (ausführliche Beschreibung) FILES (KonfiguraWonsdateien) SEE ALSO (Verweise auf verwandte Kommandos) DIAGNOSTICS (Erläuterung von Fehlermeldungen) BUGS (Bekannte Fehler und Probleme) EXAMPLE (Beispiele) 6

man pages manchmal unübersichtlich WWW! AUFGABE 1 (5 Min): Beschreiben Sie den Befehl ls ltr 7

ls ltr l Verwendung eines langen Listenformats t sorweren nach Änderungszeit r reverse, umgekehrte Reihenfolge beim SorWeren 8

Pipes Programm A Programm B Programm B verarbeitet Ausgabe von Programm A head 100 tail 25 (Zeilen 75 bis 100 ausgeben) Programm < Eingabedatai Programm > Ausgabedatei SchniUstellen: stdin Programm stdout stderr 9

Tokenisieren Aufgabe 2 (10 Minuten): was bewirkt der folgende Befehl und warum? (Eingabedatei befindet sich auf der Kursseite) tr sc 'A Za z' '\012' < Prediger3 Schlachter2000.txt 10

tr (transponieren = austauschen) s ersetze Zeichenfolgen durch ein Zeichen (squeeze repeats) c doch nicht ersetzen, sondern hinten anhängen 'A Za z' alle Strings, die dieser reguläre Ausdruck beschreibt '\012 Carriage Return < hole eine Eingabedatei Prediger3 Schlachter2000.txt Name der Eingabedatei PunktuaWon geht verloren, Satzgrenzen ebenfalls, aber gut zum Verarbeiten von Einzelwörtern 11

tr tr a z A Z (alle Klein durch Grossbuchstaben ersetzen) WICHTIG: Neue Anzahl Zeichen idenwsch mit alter Anzahl! tr xyz aaa (x, y und z werden jeweils alle durch ein a ersetzt) tr xyz a (genau diesselbe Wirkung) tr c u z (alles ausser u wird durch z ersetzt) tr d a (lösche alle a ) tr d \n (lösche alle newlines) perl s/// ist o flexibler. 12

SorWeren Sort (Auswahl!) n numeric (11 vor 2), d Lexikonordnung r reverse ( nr umgekehrt numerisch) f Klein als Grossbuchstaben behandeln k key Feldweise, t gibt den Feldseparator an u unique nur das erste von mehreren Gleichen ausgeben (lieber uniq verwenden, s.u.) +1.5 beginne beim 5. Zeichen von Feld 1 uniq unikal sorweren c eine erste Spalte einfügen, Anzahl von Gleichen ausgeben 13

Tokenisieren, SorWeren und Zählen tr sc 'A Za z' '\012' < Prediger3 Schlachter2000.txt sort n uniq c sort nr less 14

Wörter nach Flexionsendung sorweren? echo hello world rev sort Aufgabe 3 (5 Minuten): A SorWeren Sie die Wörter (types!) des Prediger3 Textes nach ihren Flexionsendungen 15

Wörter nach Flexionsendung sorweren? tr A Z a z < Prediger3 Schlachter2000.txt tr sc a z \012 sort n uniq rev sort n rev less 16

(e)grep Findet string / regulären Ausdruck Ausführliche DokumentaWon inm Web, z.b. www.gnu.org/manual/gawk/html_node/egrep Program.html grep gh (finde Zeilen mit gh) grep ^con (finde Zeilen, die mit con beginnen) grep ion$ (finde Zeilen, die mit ion au ören) grep v X (lösche Zeilen mit X) grep i ^[^aeiou]*[aeiou][^aeiou]*$ (Zeilen mit genau einem Vokal) 17

egrep Alles wie grep, UND X+ mindestens ein X X Y X oder Y wc word count l Anzahl der Zeilen feststellen Aufgabe 4 (5 Minuten): A Alle Wörter mit einer Silbe finden (ungenau ist auch ok: Ein Vokal pro Wort) B Diese Wörter zählen 18

. egrep i ^[^aeiou]*[aeiou]{1,2}[^aeiou]*$ Erweiterte Aufgabe 5 (au auend auf 3 und 4): A Wieviele Grundformen (InfiniWve) von Verben sind vorhanden und welche B Wieviele Nomen, die auf keit enden sind vorhanden und welche 19

tr a z A Z < Prediger3 Schlachter2000.txt tr sc a z \012 sort n uniq rev sort n grep 'en$' oder grep keit$ wc l oder less Probleme? Tagging! 20

Bigramme paste umgekehrtes cat Schreibt Dateiinhalte nebeneinander (normalerweise tokenisierte Dateien) Ausprobieren: tr sc 'A Za z' '\012' < Prediger3 Schlachter2000.txt > Woerterliste.txt tail +2 Woerterliste.txt > Woerterliste naechste.txt Paste Woerterliste.txt Woerterliste nachste.txt 21

Bigramme mit mehr InformaWon paste Woerterliste.txt Woerterliste nachste.txt sort uniq c sort nr head 22

Scripts: Ich merk mir, wie ich das gemacht hab! #!interpreter #!/bin/sh (default) #!/usr/local/bin/gawk #!/usr/local/bin/tcsh #!/bin/tcsh Which tcsh 23

#!/bin/sh # tokenisieren # filename : tokenise.sh tr 'A Z' 'a z tr sc 'a z' '\012 cat Prediger3 Schlachter2000.txt./tokenise less 24

#!/bin/sh # tokenisieren # filename : tokenise.sh tr 'A Z' 'a z tr sc 'a z' '\012 ## Ausführbar machen: chmod u+x tokenise.sh cat Prediger3 Schlachter2000.txt./tokenise less 25

Skripte können Variablen! $1, $2 aus der Kommandozeile $* alle Parameter, $9 letzter Parameter $# Anzahl Parameter 26

Skripte können auch interne Variablen! set foo =bar; echo $foo $foo:s/a/b/ KEINE regulären Ausdrücke $foo:as/a/b/ alle Vorkommen Schleifen: for c in 2 3 4 5 6 do echo c is $c done 27

Lösung bis 8.Mai 2009 per email an faaszgd@hdm stuugart.de): Trigramme aus Prediger3 erzeugen, absteigend nach Häufigkeit (angeben!) sorweren 28