Proseminar UNIX Tools. Ferdinand Beyer

Größe: px
Ab Seite anzeigen:

Download "Proseminar UNIX Tools. Ferdinand Beyer"

Transkript

1 Reguläre Ausdrücke Proseminar UNIX Tools Ferdinand Beyer Technische Universität München Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

2 Gliederung Allgemeines 1 Allgemeines 2 Notation 3 Anwendungsbeispiele Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

3 Gliederung Allgemeines Beschreibung 1 Allgemeines Beschreibung Bezeichnungen Einsatzgebiete in UNIX-Tools Notationsarten 2 Notation 3 Anwendungsbeispiele Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

4 Beschreibung Allgemeines Beschreibung Reguläre Ausdrücke dienen der Beschreibung einer formalen Sprache Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

5 Beschreibung Allgemeines Beschreibung Reguläre Ausdrücke dienen der Beschreibung einer formalen Sprache d.h. sie beschreiben eine Menge von Zeichenketten Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

6 Beschreibung Allgemeines Beschreibung Reguläre Ausdrücke dienen der Beschreibung einer formalen Sprache d.h. sie beschreiben eine Menge von Zeichenketten werden üblicherweise als Stringmuster (engl.: pattern) notiert Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

7 Beschreibung Allgemeines Beschreibung Reguläre Ausdrücke dienen der Beschreibung einer formalen Sprache d.h. sie beschreiben eine Menge von Zeichenketten werden üblicherweise als Stringmuster (engl.: pattern) notiert lassen sich relativ einfach mit endlichen Automaten implementieren Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

8 Gliederung Allgemeines Bezeichnungen 1 Allgemeines Beschreibung Bezeichnungen Einsatzgebiete in UNIX-Tools Notationsarten 2 Notation 3 Anwendungsbeispiele Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

9 Bezeichnungen Allgemeines Bezeichnungen Gebräuchliche Namen und Abkürzungen Englisch: regular expressions Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

10 Bezeichnungen Allgemeines Bezeichnungen Gebräuchliche Namen und Abkürzungen Englisch: regular expressions Abkürzungen: RegExp, Regex, RE Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

11 Bezeichnungen Allgemeines Bezeichnungen Gebräuchliche Namen und Abkürzungen Englisch: regular expressions Abkürzungen: RegExp, Regex, RE In man-pages oft PATTERN Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

12 Gliederung Allgemeines Einsatzgebiete in UNIX-Tools 1 Allgemeines Beschreibung Bezeichnungen Einsatzgebiete in UNIX-Tools Notationsarten 2 Notation 3 Anwendungsbeispiele Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

13 Allgemeines Einsatzgebiete in UNIX-Tools Einsatzgebiete in UNIX-Tools Einsatzgebiete für reguläre Ausdrücke Suchen (und eventuell Ersetzen) von Zeichenketten eines bestimmten Musters in Texten (z.b. vi, emacs, sed) Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

14 Allgemeines Einsatzgebiete in UNIX-Tools Einsatzgebiete in UNIX-Tools Einsatzgebiete für reguläre Ausdrücke Suchen (und eventuell Ersetzen) von Zeichenketten eines bestimmten Musters in Texten (z.b. vi, emacs, sed) Filtern von Informationen (z.b. grep) Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

15 Allgemeines Einsatzgebiete in UNIX-Tools Einsatzgebiete in UNIX-Tools Einsatzgebiete für reguläre Ausdrücke Suchen (und eventuell Ersetzen) von Zeichenketten eines bestimmten Musters in Texten (z.b. vi, emacs, sed) Filtern von Informationen (z.b. grep) Erkennen und Klassifizieren von Teilstrings (tokens) für die lexikalische Analyse von Texten ( Compilerbau) (z.b. lex) Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

16 Gliederung Allgemeines Notationsarten 1 Allgemeines Beschreibung Bezeichnungen Einsatzgebiete in UNIX-Tools Notationsarten 2 Notation 3 Anwendungsbeispiele Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

17 Notationsarten Allgemeines Notationsarten Die wichtigsten Formen von regulären Ausdrücken Basic ( simple / obsolete ) regular expressions (BRE) Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

18 Notationsarten Allgemeines Notationsarten Die wichtigsten Formen von regulären Ausdrücken Basic ( simple / obsolete ) regular expressions (BRE) Extended ( modern ) regular expressions (ERE) Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

19 Notationsarten Allgemeines Notationsarten Die wichtigsten Formen von regulären Ausdrücken Basic ( simple / obsolete ) regular expressions (BRE) Extended ( modern ) regular expressions (ERE) Perl / Perl-compatible regular expressions (PCRE) Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

20 Notationsarten Allgemeines Notationsarten Die wichtigsten Formen von regulären Ausdrücken Basic ( simple / obsolete ) regular expressions (BRE) Extended ( modern ) regular expressions (ERE) Perl / Perl-compatible regular expressions (PCRE) Hinweise BREs existieren hauptsächlich noch für Abwärtskompatibilität mit älteren Programmen Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

21 Notationsarten Allgemeines Notationsarten Die wichtigsten Formen von regulären Ausdrücken Basic ( simple / obsolete ) regular expressions (BRE) Extended ( modern ) regular expressions (ERE) Perl / Perl-compatible regular expressions (PCRE) Hinweise BREs existieren hauptsächlich noch für Abwärtskompatibilität mit älteren Programmen Im Nachfolgenden wird die Notation für EREs besprochen Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

22 Notationsarten Allgemeines Notationsarten Die wichtigsten Formen von regulären Ausdrücken Basic ( simple / obsolete ) regular expressions (BRE) Extended ( modern ) regular expressions (ERE) Perl / Perl-compatible regular expressions (PCRE) Hinweise BREs existieren hauptsächlich noch für Abwärtskompatibilität mit älteren Programmen Im Nachfolgenden wird die Notation für EREs besprochen Anschließend werden die Unterschiede zu BREs aufgezeigt Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

23 Notationsarten Allgemeines Notationsarten Die wichtigsten Formen von regulären Ausdrücken Basic ( simple / obsolete ) regular expressions (BRE) Extended ( modern ) regular expressions (ERE) Perl / Perl-compatible regular expressions (PCRE) Hinweise BREs existieren hauptsächlich noch für Abwärtskompatibilität mit älteren Programmen Im Nachfolgenden wird die Notation für EREs besprochen Anschließend werden die Unterschiede zu BREs aufgezeigt PCREs entsprechen weitgehend EREs Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

24 Notationsarten Allgemeines Notationsarten Die wichtigsten Formen von regulären Ausdrücken Basic ( simple / obsolete ) regular expressions (BRE) Extended ( modern ) regular expressions (ERE) Perl / Perl-compatible regular expressions (PCRE) Hinweise BREs existieren hauptsächlich noch für Abwärtskompatibilität mit älteren Programmen Im Nachfolgenden wird die Notation für EREs besprochen Anschließend werden die Unterschiede zu BREs aufgezeigt PCREs entsprechen weitgehend EREs Relevant für UNIX-Tools sind nur BREs und EREs Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

25 Gliederung Notation 1 Allgemeines 2 Notation 3 Anwendungsbeispiele Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

26 Gliederung Notation Zeichen und Metazeichen 1 Allgemeines 2 Notation Zeichen und Metazeichen Beliebige Zeichen Zeichenauswahlen Quantoren Unterausdrücke Verschiedenes Unterschiede zwischen BREs und EREs 3 Anwendungsbeispiele Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

27 Zeichen und Metazeichen Notation Zeichen und Metazeichen Ein regulärer Ausdruck besteht aus Zeichenliteralen und Metazeichen Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

28 Zeichen und Metazeichen Notation Zeichen und Metazeichen Ein regulärer Ausdruck besteht aus Zeichenliteralen und Metazeichen Die Metazeichen [ ] ( ) { }? + * ^ $ \. haben eine besondere Bedeutung für den Ausdruck Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

29 Zeichen und Metazeichen Notation Zeichen und Metazeichen Ein regulärer Ausdruck besteht aus Zeichenliteralen und Metazeichen Die Metazeichen [ ] ( ) { }? + * ^ $ \. haben eine besondere Bedeutung für den Ausdruck Sonstige Zeichen sind Zeichenliterale und stehen für sich selbst Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

30 Zeichen und Metazeichen Notation Zeichen und Metazeichen Ein regulärer Ausdruck besteht aus Zeichenliteralen und Metazeichen Die Metazeichen [ ] ( ) { }? + * ^ $ \. haben eine besondere Bedeutung für den Ausdruck Sonstige Zeichen sind Zeichenliterale und stehen für sich selbst Um Metazeichen als Zeichenliterale zu behandeln, müssen sie mit vorangestelltem Backslash \ notiert werden ( maskieren ; engl.: to escape ) Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

31 Zeichen und Metazeichen Notation Zeichen und Metazeichen Beispiele Ein regulärer Ausdruck besteht aus Zeichenliteralen und Metazeichen Die Metazeichen [ ] ( ) { }? + * ^ $ \. haben eine besondere Bedeutung für den Ausdruck Sonstige Zeichen sind Zeichenliterale und stehen für sich selbst Um Metazeichen als Zeichenliterale zu behandeln, müssen sie mit vorangestelltem Backslash \ notiert werden ( maskieren ; engl.: to escape ) au findet au in Haus und Maus \(TODO\) findet den String (TODO) Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

32 Gliederung Notation Beliebige Zeichen 1 Allgemeines 2 Notation Zeichen und Metazeichen Beliebige Zeichen Zeichenauswahlen Quantoren Unterausdrücke Verschiedenes Unterschiede zwischen BREs und EREs 3 Anwendungsbeispiele Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

33 Beliebige Zeichen Notation Beliebige Zeichen Ein Punkt. deckt ein beliebiges Zeichen ab Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

34 Beliebige Zeichen Notation Beliebige Zeichen Ein Punkt. deckt ein beliebiges Zeichen ab Einzige Ausnahme ist das Newline-Zeichen, dass in den meisten Implementierungen standardmäßig nicht vom Punkt getroffen wird. Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

35 Beliebige Zeichen Notation Beliebige Zeichen Beispiel Ein Punkt. deckt ein beliebiges Zeichen ab Einzige Ausnahme ist das Newline-Zeichen, dass in den meisten Implementierungen standardmäßig nicht vom Punkt getroffen wird..and findet Hand, Land, Band, Rand, Wand etc. Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

36 Gliederung Notation Zeichenauswahlen 1 Allgemeines 2 Notation Zeichen und Metazeichen Beliebige Zeichen Zeichenauswahlen Quantoren Unterausdrücke Verschiedenes Unterschiede zwischen BREs und EREs 3 Anwendungsbeispiele Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

37 Zeichenauswahlen (1) Notation Zeichenauswahlen Eine Zeichenauswahl ist eine Liste von Zeichen, die in eckige Klammern [ ] eingeschlossen notiert wird Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

38 Notation Zeichenauswahlen Zeichenauswahlen (1) Eine Zeichenauswahl ist eine Liste von Zeichen, die in eckige Klammern [ ] eingeschlossen notiert wird Die Auswahl deckt genau ein Zeichen der Liste ab Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

39 Notation Zeichenauswahlen Zeichenauswahlen (1) Eine Zeichenauswahl ist eine Liste von Zeichen, die in eckige Klammern [ ] eingeschlossen notiert wird Die Auswahl deckt genau ein Zeichen der Liste ab Mit dem Bindestrich - können Zeichenbereiche in die Auswahl aufgenommen werden Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

40 Notation Zeichenauswahlen Zeichenauswahlen (1) Beispiele Eine Zeichenauswahl ist eine Liste von Zeichen, die in eckige Klammern [ ] eingeschlossen notiert wird Die Auswahl deckt genau ein Zeichen der Liste ab Mit dem Bindestrich - können Zeichenbereiche in die Auswahl aufgenommen werden [LHM][au]nd findet Land, Hand, Hund, Mund, etc. [0-9a-fA-F] findet eine Ziffer in Hexadezimal-Schreibweise Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

41 Zeichenauswahlen (2) Notation Zeichenauswahlen Beginnt die Auswahl mit einem Zirkumflex ^, so handelt es sich um eine negierte Auswahl, d.h. sie repäsentiert alle Zeichen, die nicht in der Liste stehen Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

42 Notation Zeichenauswahlen Zeichenauswahlen (2) Beginnt die Auswahl mit einem Zirkumflex ^, so handelt es sich um eine negierte Auswahl, d.h. sie repäsentiert alle Zeichen, die nicht in der Liste stehen Soll die Auswahl das Zeichen ] selbst enthalten, muss dieses als erstes Zeichen der Liste notiert werden Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

43 Notation Zeichenauswahlen Zeichenauswahlen (2) Beginnt die Auswahl mit einem Zirkumflex ^, so handelt es sich um eine negierte Auswahl, d.h. sie repäsentiert alle Zeichen, die nicht in der Liste stehen Soll die Auswahl das Zeichen ] selbst enthalten, muss dieses als erstes Zeichen der Liste notiert werden Andere Metazeichen (inklusive \) verlieren innerhalb von Auswahlen ihre Sonderbedeutung und müssen nicht maskiert werden Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

44 Notation Zeichenauswahlen Zeichenauswahlen (2) Beispiel Beginnt die Auswahl mit einem Zirkumflex ^, so handelt es sich um eine negierte Auswahl, d.h. sie repäsentiert alle Zeichen, die nicht in der Liste stehen Soll die Auswahl das Zeichen ] selbst enthalten, muss dieses als erstes Zeichen der Liste notiert werden Andere Metazeichen (inklusive \) verlieren innerhalb von Auswahlen ihre Sonderbedeutung und müssen nicht maskiert werden [^dwdw].. findet drei-buchstabige Wörter, die nicht mit d oder w beginnen Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

45 Zeichenauswahlen (3) Notation Zeichenauswahlen Für einige Zeichenauswahlen existieren vordefinierte Zeichenklassen Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

46 Notation Zeichenauswahlen Zeichenauswahlen (3) Für einige Zeichenauswahlen existieren vordefinierte Zeichenklassen Diese werden innerhalb von Zeichenauswahlen zwischen [: und :] notiert Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

47 Notation Zeichenauswahlen Zeichenauswahlen (3) Für einige Zeichenauswahlen existieren vordefinierte Zeichenklassen Diese werden innerhalb von Zeichenauswahlen zwischen [: und :] notiert Verfügbare Zeichenklassen [:alnum:] Buchstaben & Ziffern [:blank:] Leerzeichen & Tabulator [:alpha:] Buchstaben [:space:] Jede Art von Leerzeichen [:lower:] Kleinbuchstaben [:punct:] Interpunktionszeichen [:upper:] Großbuchstaben [:print:] Alle druckbaren Zeichen [:digit:] Ziffern [:graph:] Druckbare, nicht-leere Zeichen [:xdigit:] Hexadezimal-Ziffern [:cntrl:] Kontrollzeichen Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

48 Notation Zeichenauswahlen Zeichenauswahlen (3) Für einige Zeichenauswahlen existieren vordefinierte Zeichenklassen Diese werden innerhalb von Zeichenauswahlen zwischen [: und :] notiert Verfügbare Zeichenklassen [:alnum:] Buchstaben & Ziffern [:blank:] Leerzeichen & Tabulator [:alpha:] Buchstaben [:space:] Jede Art von Leerzeichen [:lower:] Kleinbuchstaben [:punct:] Interpunktionszeichen [:upper:] Großbuchstaben [:print:] Alle druckbaren Zeichen [:digit:] Ziffern [:graph:] Druckbare, nicht-leere Zeichen [:xdigit:] Hexadezimal-Ziffern [:cntrl:] Kontrollzeichen Der Vorteil von [[:alnum:]] gegenüber [a-za-z0-9] ist die Unterstützung von internationalen Zeichen je nach Systemeinstellung (Locale) Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

49 Gliederung Notation Quantoren 1 Allgemeines 2 Notation Zeichen und Metazeichen Beliebige Zeichen Zeichenauswahlen Quantoren Unterausdrücke Verschiedenes Unterschiede zwischen BREs und EREs 3 Anwendungsbeispiele Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

50 Quantoren Notation Quantoren Mit Quantoren kann angegeben werden, wie oft ein Element vorkommen darf. bzw. muss Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

51 Quantoren Notation Quantoren Mit Quantoren kann angegeben werden, wie oft ein Element vorkommen darf. bzw. muss Quantoren werden unmittelbar nach dem Element notiert: {n} genau n Vorkommen {n,} mindestens n Vorkommen {n,m} mindestens n und höchstens m Vorkommen Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

52 Quantoren Notation Quantoren Mit Quantoren kann angegeben werden, wie oft ein Element vorkommen darf. bzw. muss Quantoren werden unmittelbar nach dem Element notiert: {n} genau n Vorkommen {n,} mindestens n Vorkommen {n,m} mindestens n und höchstens m Vorkommen Kurzformen:? Vorkommen optional ( ˆ= {0,1}) * beliebig viele Vorkommen ( ˆ= {0,}) + mindestens ein Vorkommen ( ˆ= {1,}) Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

53 Quantoren Notation Quantoren Mit Quantoren kann angegeben werden, wie oft ein Element vorkommen darf. bzw. muss Quantoren werden unmittelbar nach dem Element notiert: {n} genau n Vorkommen {n,} mindestens n Vorkommen {n,m} mindestens n und höchstens m Vorkommen Kurzformen:? Vorkommen optional ( ˆ= {0,1}) * beliebig viele Vorkommen ( ˆ= {0,}) + mindestens ein Vorkommen ( ˆ= {1,}) Beispiele Go{2,}gle findet Google mit 2 oder mehr o Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

54 Quantoren Notation Quantoren Mit Quantoren kann angegeben werden, wie oft ein Element vorkommen darf. bzw. muss Quantoren werden unmittelbar nach dem Element notiert: {n} genau n Vorkommen {n,} mindestens n Vorkommen {n,m} mindestens n und höchstens m Vorkommen Kurzformen:? Vorkommen optional ( ˆ= {0,1}) * beliebig viele Vorkommen ( ˆ= {0,}) + mindestens ein Vorkommen ( ˆ= {1,}) Beispiele Go{2,}gle findet Google mit 2 oder mehr o [:;]-?[][)(}{ ]+ findet verschiedene Smileys ;-) Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

55 Gliederung Notation Unterausdrücke 1 Allgemeines 2 Notation Zeichen und Metazeichen Beliebige Zeichen Zeichenauswahlen Quantoren Unterausdrücke Verschiedenes Unterschiede zwischen BREs und EREs 3 Anwendungsbeispiele Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

56 Unterausdrücke Notation Unterausdrücke Mit runden Klammern ( ) können beliebige Elemente zu Unterausdrücken (engl.: sub patterns) gruppiert werden Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

57 Unterausdrücke Notation Unterausdrücke Mit runden Klammern ( ) können beliebige Elemente zu Unterausdrücken (engl.: sub patterns) gruppiert werden In vielen Anwendungen kann man mit der Notation \1, \2,..., \n einen Rückbezug (engl.: back reference auf den vom i-ten Unterausdruck getroffenen Teilstring herstellen (BRE-spezifisch, wird jedoch auch von vielen ERE-Anwendungen unterstützt) Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

58 Unterausdrücke Notation Unterausdrücke Beispiel Mit runden Klammern ( ) können beliebige Elemente zu Unterausdrücken (engl.: sub patterns) gruppiert werden In vielen Anwendungen kann man mit der Notation \1, \2,..., \n einen Rückbezug (engl.: back reference auf den vom i-ten Unterausdruck getroffenen Teilstring herstellen (BRE-spezifisch, wird jedoch auch von vielen ERE-Anwendungen unterstützt) ([[:alpha:]]+)([[:blank:]]+\1)+ findet zwei oder mehr hintereinander folgende Vorkommen eines Wortes Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

59 Gliederung Notation Verschiedenes 1 Allgemeines 2 Notation Zeichen und Metazeichen Beliebige Zeichen Zeichenauswahlen Quantoren Unterausdrücke Verschiedenes Unterschiede zwischen BREs und EREs 3 Anwendungsbeispiele Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

60 Verschiedenes Notation Verschiedenes Mit dem Pipe-Zeichen lassen sich Alternativen ( oder ) notieren Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

61 Verschiedenes Notation Verschiedenes Mit dem Pipe-Zeichen lassen sich Alternativen ( oder ) notieren Der Zirkumflex ˆ steht (außerhalb von Zeichenauswahlen) für den Zeilenanfang, das Dollar-Zeichen $ für das Zeilenende Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

62 Verschiedenes Notation Verschiedenes Mit dem Pipe-Zeichen lassen sich Alternativen ( oder ) notieren Der Zirkumflex ˆ steht (außerhalb von Zeichenauswahlen) für den Zeilenanfang, das Dollar-Zeichen $ für das Zeilenende Viele Implementierungen (z.b. PCRE) weitere Funktionen und Kurzschreibweisen, auf die hier nicht näher eingegangen wird Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

63 Verschiedenes Notation Verschiedenes Beispiele Mit dem Pipe-Zeichen lassen sich Alternativen ( oder ) notieren Der Zirkumflex ˆ steht (außerhalb von Zeichenauswahlen) für den Zeilenanfang, das Dollar-Zeichen $ für das Zeilenende Viele Implementierungen (z.b. PCRE) weitere Funktionen und Kurzschreibweisen, auf die hier nicht näher eingegangen wird true false findet true oder false Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

64 Verschiedenes Notation Verschiedenes Beispiele Mit dem Pipe-Zeichen lassen sich Alternativen ( oder ) notieren Der Zirkumflex ˆ steht (außerhalb von Zeichenauswahlen) für den Zeilenanfang, das Dollar-Zeichen $ für das Zeilenende Viele Implementierungen (z.b. PCRE) weitere Funktionen und Kurzschreibweisen, auf die hier nicht näher eingegangen wird true false findet true oder false ^[[:digit:]]+ findet Zahlen am Anfang einer Zeile Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

65 Verschiedenes Notation Verschiedenes Beispiele Mit dem Pipe-Zeichen lassen sich Alternativen ( oder ) notieren Der Zirkumflex ˆ steht (außerhalb von Zeichenauswahlen) für den Zeilenanfang, das Dollar-Zeichen $ für das Zeilenende Viele Implementierungen (z.b. PCRE) weitere Funktionen und Kurzschreibweisen, auf die hier nicht näher eingegangen wird true false findet true oder false ^[[:digit:]]+ findet Zahlen am Anfang einer Zeile ^$ findet eine leere Zeile Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

66 Gliederung Notation Unterschiede zwischen BREs und EREs 1 Allgemeines 2 Notation Zeichen und Metazeichen Beliebige Zeichen Zeichenauswahlen Quantoren Unterausdrücke Verschiedenes Unterschiede zwischen BREs und EREs 3 Anwendungsbeispiele Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

67 Notation Unterschiede zwischen BREs und EREs Unterschiede zwischen BREs und EREs Die Zeichen +? { } ( ) sind Literale, keine Metazeichen Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

68 Notation Unterschiede zwischen BREs und EREs Unterschiede zwischen BREs und EREs Die Zeichen +? { } ( ) sind Literale, keine Metazeichen Die Klammern für Quantoren sind \{ \}, für Unterausdrücke \( \) Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

69 Notation Unterschiede zwischen BREs und EREs Unterschiede zwischen BREs und EREs Die Zeichen +? { } ( ) sind Literale, keine Metazeichen Die Klammern für Quantoren sind \{ \}, für Unterausdrücke \( \) ^ und $ sind nur am Anfang, bzw. am Ende des (Unter-)Ausdrucks möglich, sonst werden sie als Literale interpretiert Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

70 Notation Unterschiede zwischen BREs und EREs Unterschiede zwischen BREs und EREs Die Zeichen +? { } ( ) sind Literale, keine Metazeichen Die Klammern für Quantoren sind \{ \}, für Unterausdrücke \( \) ^ und $ sind nur am Anfang, bzw. am Ende des (Unter-)Ausdrucks möglich, sonst werden sie als Literale interpretiert Es gibt keine Notation für Alternativen Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

71 Notation Unterschiede zwischen BREs und EREs Unterschiede zwischen BREs und EREs Die Zeichen +? { } ( ) sind Literale, keine Metazeichen Die Klammern für Quantoren sind \{ \}, für Unterausdrücke \( \) ^ und $ sind nur am Anfang, bzw. am Ende des (Unter-)Ausdrucks möglich, sonst werden sie als Literale interpretiert Es gibt keine Notation für Alternativen Die Quantoren + und? müssen in der allgemeinen Quantoren-Schreibweise als {1,} und {0,1} notiert werden Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

72 Gliederung Anwendungsbeispiele 1 Allgemeines 2 Notation 3 Anwendungsbeispiele Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

73 Gliederung Anwendungsbeispiele grep 1 Allgemeines 2 Notation 3 Anwendungsbeispiele grep sed Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

74 grep (1) Anwendungsbeispiele grep grep (von g/re/p) ist ein Programm zur Suche und Filterung von Text unter Verwendung von Regulären Ausdrücken Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

75 Anwendungsbeispiele grep grep (1) grep (von g/re/p) ist ein Programm zur Suche und Filterung von Text unter Verwendung von Regulären Ausdrücken Es durchsucht Eingabedateien oder die Standardeingabe und schreibt jede Zeile mit Suchtreffern in die Standardausgabe Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

76 Anwendungsbeispiele grep grep (1) grep (von g/re/p) ist ein Programm zur Suche und Filterung von Text unter Verwendung von Regulären Ausdrücken Es durchsucht Eingabedateien oder die Standardeingabe und schreibt jede Zeile mit Suchtreffern in die Standardausgabe grep erlaubt BRE- und ERE-Notation (grep -E oder egrep) Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

77 Anwendungsbeispiele grep grep (1) grep (von g/re/p) ist ein Programm zur Suche und Filterung von Text unter Verwendung von Regulären Ausdrücken Es durchsucht Eingabedateien oder die Standardeingabe und schreibt jede Zeile mit Suchtreffern in die Standardausgabe grep erlaubt BRE- und ERE-Notation (grep -E oder egrep) In beiden Notierungsarten werden Back References unterstützt Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

78 Anwendungsbeispiele grep grep (1) grep (von g/re/p) ist ein Programm zur Suche und Filterung von Text unter Verwendung von Regulären Ausdrücken Es durchsucht Eingabedateien oder die Standardeingabe und schreibt jede Zeile mit Suchtreffern in die Standardausgabe grep erlaubt BRE- und ERE-Notation (grep -E oder egrep) In beiden Notierungsarten werden Back References unterstützt Einsatzgebiete Sequentielles durchsuchen vieler Dateien Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

79 Anwendungsbeispiele grep grep (1) grep (von g/re/p) ist ein Programm zur Suche und Filterung von Text unter Verwendung von Regulären Ausdrücken Es durchsucht Eingabedateien oder die Standardeingabe und schreibt jede Zeile mit Suchtreffern in die Standardausgabe grep erlaubt BRE- und ERE-Notation (grep -E oder egrep) In beiden Notierungsarten werden Back References unterstützt Einsatzgebiete Sequentielles durchsuchen vieler Dateien Filtern von Informationen, z.b. aus Logdateien Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

80 Anwendungsbeispiele grep grep (1) grep (von g/re/p) ist ein Programm zur Suche und Filterung von Text unter Verwendung von Regulären Ausdrücken Es durchsucht Eingabedateien oder die Standardeingabe und schreibt jede Zeile mit Suchtreffern in die Standardausgabe grep erlaubt BRE- und ERE-Notation (grep -E oder egrep) In beiden Notierungsarten werden Back References unterstützt Einsatzgebiete Sequentielles durchsuchen vieler Dateien Filtern von Informationen, z.b. aus Logdateien Im Zusammenspiel mit anderen UNIX-Tools, z.b. in Shellprogrammen Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

81 Anwendungsbeispiele grep grep (2) Aufrufsyntax und Optionen (Ausschnitt) [e]grep [OPTION] PATTERN [FILE] -E Verwende EREs statt BREs (vgl. egrep) -o Nur tatsächliche Treffer statt ganzer Zeilen ausgeben -v Nur Zeilen ohne Treffer ausgeben -i Groß-/Kleinschreibung ignorieren -c Nur Anzahl der gefundenen Zeilen ausgeben -l Nur die Dateinamen mit Treffern zeigen -n Zusätzlich Zeilennummern ausgeben -s Unterdrückt Fehlermeldungen in der Ausgabe Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

82 Anwendungsbeispiele grep grep (3) Beispiele grep -c \\begin{ vortrag.tex Zählt die Vorkommen von \begin{ in der Datei vortrag.tex Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

83 Anwendungsbeispiele grep grep (3) Beispiele grep -c \\begin{ vortrag.tex Zählt die Vorkommen von \begin{ in der Datei vortrag.tex grep #.*$ * liest alle Kommentare aus den Dateien im aktuellen Verzeichnis Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

84 Gliederung Anwendungsbeispiele sed 1 Allgemeines 2 Notation 3 Anwendungsbeispiele grep sed Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

85 sed (1) Anwendungsbeispiele sed sed (stream editor) ist ein nicht-interaktiver, zeilenorientierter Texteditor Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

86 sed (1) Anwendungsbeispiele sed sed (stream editor) ist ein nicht-interaktiver, zeilenorientierter Texteditor Arbeitsweise: Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

87 sed (1) Anwendungsbeispiele sed sed (stream editor) ist ein nicht-interaktiver, zeilenorientierter Texteditor Arbeitsweise: Lese die nächste Zeile der Eingabe in den Eingabepuffer Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

88 sed (1) Anwendungsbeispiele sed sed (stream editor) ist ein nicht-interaktiver, zeilenorientierter Texteditor Arbeitsweise: Lese die nächste Zeile der Eingabe in den Eingabepuffer Entscheide, welche Befehle für diese Zeile ausgeführt werden sollen Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

89 sed (1) Anwendungsbeispiele sed sed (stream editor) ist ein nicht-interaktiver, zeilenorientierter Texteditor Arbeitsweise: Lese die nächste Zeile der Eingabe in den Eingabepuffer Entscheide, welche Befehle für diese Zeile ausgeführt werden sollen Führe sukzessive alle Befehle aus Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

90 sed (1) Anwendungsbeispiele sed sed (stream editor) ist ein nicht-interaktiver, zeilenorientierter Texteditor Arbeitsweise: Lese die nächste Zeile der Eingabe in den Eingabepuffer Entscheide, welche Befehle für diese Zeile ausgeführt werden sollen Führe sukzessive alle Befehle aus Kopiere die Zeile in die Standardausgabe (vgl. sed -n) Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

91 Anwendungsbeispiele sed sed (1) sed (stream editor) ist ein nicht-interaktiver, zeilenorientierter Texteditor Arbeitsweise: Lese die nächste Zeile der Eingabe in den Eingabepuffer Entscheide, welche Befehle für diese Zeile ausgeführt werden sollen Führe sukzessive alle Befehle aus Kopiere die Zeile in die Standardausgabe (vgl. sed -n) sed ändert die Eingabedateien nicht. Um eine Rückspeicherung zu erhalten, kann die Ausgabe mit > in die Datei zurückgeschrieben werden Einsatzgebiete Automatische, wiederkehrende Textmanipulationen Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

92 Anwendungsbeispiele sed sed (1) sed (stream editor) ist ein nicht-interaktiver, zeilenorientierter Texteditor Arbeitsweise: Lese die nächste Zeile der Eingabe in den Eingabepuffer Entscheide, welche Befehle für diese Zeile ausgeführt werden sollen Führe sukzessive alle Befehle aus Kopiere die Zeile in die Standardausgabe (vgl. sed -n) sed ändert die Eingabedateien nicht. Um eine Rückspeicherung zu erhalten, kann die Ausgabe mit > in die Datei zurückgeschrieben werden Einsatzgebiete Automatische, wiederkehrende Textmanipulationen Oft in Zusammenspiel mit anderen Tools, z.b. in Shellprogrammen Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

93 Anwendungsbeispiele sed sed (2) Aufrufsyntax und Optionen sed [-E] [-n] [-e COMMAND] [-f SCRIPT] [FILE] -E Verwende EREs statt BREs -n Zeilenpuffer nicht implizit in die Ausgabe schreiben -e COMMAND Füge den Befehl COMMAND der Befehlsliste hinzu -f SCRIPT Lese Befehle aus der Skript-Datei SCRIPT Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

94 Anwendungsbeispiele sed sed (2) Aufrufsyntax und Optionen sed [-E] [-n] [-e COMMAND] [-f SCRIPT] [FILE] -E Verwende EREs statt BREs -n Zeilenpuffer nicht implizit in die Ausgabe schreiben -e COMMAND Füge den Befehl COMMAND der Befehlsliste hinzu -f SCRIPT Lese Befehle aus der Skript-Datei SCRIPT Falls nur ein Befehlstext verwendet werden soll, kann -e weggelassen werden Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

95 Anwendungsbeispiele sed sed (2) Aufrufsyntax und Optionen sed [-E] [-n] [-e COMMAND] [-f SCRIPT] [FILE] -E Verwende EREs statt BREs -n Zeilenpuffer nicht implizit in die Ausgabe schreiben -e COMMAND Füge den Befehl COMMAND der Befehlsliste hinzu -f SCRIPT Lese Befehle aus der Skript-Datei SCRIPT Falls nur ein Befehlstext verwendet werden soll, kann -e weggelassen werden Jede Zeile eines Befehlsskripts kann einen Befehl enthalten Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

96 sed (3) Anwendungsbeispiele sed Aufbau eines sed-befehls [Startadresse [, Endadresse]] Funktion [Argumente] Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

97 sed (3) Anwendungsbeispiele sed Aufbau eines sed-befehls [Startadresse [, Endadresse]] Funktion [Argumente] Eine Adresse ist entweder Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

98 sed (3) Anwendungsbeispiele sed Aufbau eines sed-befehls [Startadresse [, Endadresse]] Funktion [Argumente] Eine Adresse ist entweder Eine Zeilennummer Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

99 sed (3) Anwendungsbeispiele sed Aufbau eines sed-befehls [Startadresse [, Endadresse]] Funktion [Argumente] Eine Adresse ist entweder Eine Zeilennummer $ für die letzte Zeile Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

100 sed (3) Anwendungsbeispiele sed Aufbau eines sed-befehls [Startadresse [, Endadresse]] Funktion [Argumente] Eine Adresse ist entweder Eine Zeilennummer $ für die letzte Zeile Ein regulärer Ausdruck der Form /RegExp/ Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

101 Anwendungsbeispiele sed sed (3) Aufbau eines sed-befehls [Startadresse [, Endadresse]] Funktion [Argumente] Eine Adresse ist entweder Eine Zeilennummer $ für die letzte Zeile Ein regulärer Ausdruck der Form /RegExp/ Ohne Adresse wird der Befehl auf jede Zeile angewendet Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

102 sed (4) Anwendungsbeispiele sed Ausgewählte Funktionen p d q s/re/str/[flags] Zeile explizit ausgeben Zeile löschen (bzw. nicht ausgeben) Scriptausführung nach dieser Zeile beenden Regulären Ausdruck re mit str ersetzen (Back-References in str möglich) Ein gebräuchliches Flag ist g (global), das mehrere Ersetzungen pro Zeile ermöglicht Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

103 Anwendungsbeispiele sed sed (5) Beispiele ls /u/halle sed -E > .txt Speichert eine Liste der -Adressen der Recherhallen-Benutzer in der Datei .txt Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

104 Anwendungsbeispiele sed sed (5) Beispiele ls /u/halle sed -E > .txt Speichert eine Liste der -Adressen der Recherhallen-Benutzer in der Datei .txt sed -n 1,3p .txt Gibt die ersten drei Zeilen von .txt aus Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

105 Anwendungsbeispiele sed sed (5) Beispiele ls /u/halle sed -E > .txt Speichert eine Liste der -Adressen der Recherhallen-Benutzer in der Datei .txt sed -n 1,3p .txt Gibt die ersten drei Zeilen von .txt aus sed /^$/d text Löscht leere Zeilen aus dem Text Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

106 Vielen Dank! Anwendungsbeispiele sed Vielen Dank für die Aufmerksamkeit! Ferdinand Beyer (TUM) Reguläre Ausdrücke / 39

Ferdinand Beyer. 1 Allgemeines Beschreibung Bezeichnungen Einsatzgebiete in UNIX-Tools Notationsarten...

Ferdinand Beyer. 1 Allgemeines Beschreibung Bezeichnungen Einsatzgebiete in UNIX-Tools Notationsarten... Reguläre Ausdrücke Ferdinand Beyer Inhaltsverzeichnis 1 Allgemeines 2 1.1 Beschreibung............................. 2 1.2 Bezeichnungen............................ 2 1.3 Einsatzgebiete in UNIX-Tools....................

Mehr

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

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 Linux II 2 Linux II Reguläre Ausdrücke Editoren Scripting Reguläre Ausdrücke Reguläre Ausdrücke beschreiben eine Menge von Zeichenfolgen und werden benutzt um m festzustellen, ob eine Zeichenkette Teil

Mehr

Reguläre Ausdrücke IDE AUTUMN SCHOOL

Reguläre Ausdrücke IDE AUTUMN SCHOOL Reguläre Ausdrücke 1 Reguläre Ausdrücke Übersicht Einführung Grundlagen Währenddessen: Übungen 2 Was sind Reguläre Ausdrücke? Reguläre Ausdrücke sind Zeichenketten, die Mengen von Zeichenketten beschreiben.

Mehr

UNIX Power Tools. Helferlein für den Alltag. Maximilian Haupt

UNIX Power Tools. Helferlein für den Alltag. Maximilian Haupt UNIX Power Tools Helferlein für den Alltag Maximilian Haupt mhaupt@cs.uni-magdeburg.de Fakultät für Informatik, Otto-von-Guericke-Universität Magdeburg Magdeburg, 28. Oktober 2008 1 Reguläre Ausdrücke

Mehr

Regular Expressions. Daniel Lutz Was ist eine Regular Expression?

Regular Expressions. Daniel Lutz Was ist eine Regular Expression? Regular Expressions Daniel Lutz 12.11.2003 1 Was ist eine Regular Expression? Ausdruck, der ein Textfragment beschreibt Eine Regular Expression passt zu einem Textfragment, wenn das Textfragment

Mehr

Stream EDitor SED und Reguläre Ausdrücke

Stream EDitor SED und Reguläre Ausdrücke Stream EDitor SED und Reguläre Ausdrücke ExactCODE New Thinking Store 11. Mai 2006 Was ist SED? sed steht für Stream EDitor eine Variante des Unix Editors ed und arbeitet auf Streams keine interaktiven

Mehr

Formale Sprachen und Automaten

Formale Sprachen und Automaten Formale Sprachen und Automaten Kapitel 3: Regular Expressions Vorlesung an der DHBW Karlsruhe Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2012 Kapitel 3 Regular

Mehr

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

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 Linux II 2 Linux II Reguläre Ausdrücke Editoren Scripting POSIX POSIX POSIX ist ein UNIX-Standard, der bestimmte grundlegende Funktionen und Eigenschaften von UNIX-Systemen definiert. Dazu gehören auch

Mehr

/ Vortrag Unix-AG

/ Vortrag Unix-AG 16.6.2010 / Vortrag Unix-AG xkcd Fortsetzung... Grundlegendes 1 Begriff: = regular expressions kurz: regex Funktion: definieren flexible Muster, mit denen in Texten gesucht (und ersetzt) werden kann. Diese

Mehr

Sebastian Harl. 03. Oktober 2008

Sebastian Harl. 03. Oktober 2008 Reguläre Ausdrücke Sebastian Harl LUSC Workshop Weekend 2008 03. Oktober 2008 (?:[a-z0-9!#$%& *+/=?^_ { }~-]+(?:\.[a-z0-9!#$%& *+/=?^_ { }~-]+ )* "(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]

Mehr

3 Regular expressions

3 Regular expressions 3 Regular expressions Es gibt eine ganze Reihe von Unix-Werkzeugen, für deren Benutzung es sinnvoll oder gar wesentlich ist, dass man mit etwas umgehen kann, was als regular expression oder kurz Regex

Mehr

1.103 Regular Expressions - Reguläre Ausdrücke

1.103 Regular Expressions - Reguläre Ausdrücke Copyright ( ) 2009 by M.Peichl. This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/2.0/de/

Mehr

Compilerbau. Übung 2. Prof. Johann-Christoph Freytag Dr. Klaus Ahrens Jörg Bachmann Fabian Fier Dorian Weber. 18. Mai 2016

Compilerbau. Übung 2. Prof. Johann-Christoph Freytag Dr. Klaus Ahrens Jörg Bachmann Fabian Fier Dorian Weber. 18. Mai 2016 2 Prof. Johann-Christoph Freytag Dr. Klaus Ahrens Jörg Bachmann Fabian Fier Dorian Weber 18. Mai 2016 Inhalt Wiederholung Compilertechnologie Lexer Flex 2 / 24 Wiederholung Compilertechnologie Architekturschema

Mehr

Webengineering. Reguläre Ausdrücke. Dienstag, 2. Juli 13

Webengineering. Reguläre Ausdrücke. Dienstag, 2. Juli 13 Webengineering Reguläre Ausdrücke Marcel Vilas 1 DHBW - Stuttgart 1 RegExp - Allgemein Muster, die eine Menge von Zeichenketten mit Hilfe bestimmter syntaktischer Regeln beschreiben Werden oft als Suchmuster

Mehr

Ein- und Ausgabeumlenkung

Ein- und Ausgabeumlenkung Ein- und Ausgabeumlenkung Viele Prozesse lesen und/oder schreiben Daten (z.b. who, date, cat, rm -i,...) Zu jedem Kommando gibt es voreingestellte Dateien, von denen Daten gelesen und/oder in die Daten

Mehr

Elementare Unix-Befehle 11

Elementare Unix-Befehle 11 Elementare Unix-Befehle 11 beliebige Dateien vergleichen mit diff - diff datei1 datei2 listet die Unterschiede zwischen den beiden Dateien: d.h., welche Änderungen an den beiden Dateien ausgeführt werden

Mehr

Familie von Zeichenkettensuchprogrammen "grep", "egrep", "fgrep"

Familie von Zeichenkettensuchprogrammen grep, egrep, fgrep für die Arbeit mit Files 9.Hilfsrogramme ========================================= Stream Editor "" 9.1 Familie von Zeichenkettensuchrogrammen "gre", "egre", "fgre" 9.2 9.3 File Such Programm "find" j

Mehr

Shell-Scripting Teil 2 - Reguläre Ausdrücke

Shell-Scripting Teil 2 - Reguläre Ausdrücke Shell-Scripting Teil 2 - Reguläre Ausdrücke Alexander Gordon Freie Universität Berlin 5. Vorlesung WS17/18 Outline Reguläre Ausdrücke Was sind reguläre Ausdrücke? Syntax Suchen mit grep/egrep Ersetzen

Mehr

Dateisystem 1, Suchen & Finden

Dateisystem 1, Suchen & Finden Dateisystem 1, Suchen & Finden Linux-Kurs der Unix-AG Benjamin Eberle 15. Juni 2016 ln ln ( link ) legt Verknüpfungen an, Verwendung wie cp ohne Optionen wird ein zweiter Name für die gleiche Datei erzeugt

Mehr

Dateisystem 2, Suchen & Finden

Dateisystem 2, Suchen & Finden Dateisystem 2, Suchen & Finden Linux-Kurs der Unix-AG Benjamin Eberle 15. Januar 2015 ln ln ( link ) legt Verknüpfungen an, Verwendung wie cp ohne Optionen wird ein zweiter Name für die gleiche Datei erzeugt

Mehr

Reguläre Ausdrücke. Michael Jäger. 4. April 2017

Reguläre Ausdrücke. Michael Jäger. 4. April 2017 Reguläre Ausdrücke Michael Jäger 4. April 2017 Zeichenketten und Sprachen Ein Alphabet ist eine endliche Menge von Symbolen. Beispiele: 1. Σ 1 = {0, 1} 2. Σ 2 = {a, b, c, d, e, f, g, h, i, j, k, l, m,

Mehr

Es gibt viele Programme, die mit regulären Ausdrücken arbeiten:

Es gibt viele Programme, die mit regulären Ausdrücken arbeiten: Reinald Cronauer 7. Februar 2001 Reguläre Ausdrücke 1 Einführung Reguläre Ausdrücke, kurz Regex genannt, erlauben das Suchen von Zeichenfolgen in große Texte. Ein regulärer Ausdruck ist aber flexibler

Mehr

Reguläre Ausdrücke - eine Einführung -

Reguläre Ausdrücke - eine Einführung - Ziel Reguläre Ausdrücke - eine Einführung - Andreas Romeyke Leipzig, Oktober/November 2002 Diese Präsentation ist eine kurze Einführung in die Welt der regulären Ausdrücke mit Schwerpunkt Perl. Die Präsentation

Mehr

Arbeiten mit der Shell Teil 2

Arbeiten mit der Shell Teil 2 Arbeiten mit der Shell Teil 2 Linux-Kurs der Unix-AG Klaus Denker 5. November 2012 cat cat gibt den Inhalt von Dateien aus Wichtige Optionen: -A: nicht darstellbare Zeichen (Tabs, Zeilenumbrüche, etc.)

Mehr

Propädeutikum Programmierung in der Bioinformatik

Propädeutikum Programmierung in der Bioinformatik Propädeutikum Programmierung in der Bioinformatik Java Reguläre Ausdrücke und PROSITE-Patterns Thomas Mauermeier 04.12.2018 Ludwig-Maximilians-Universität München Warum Reguläre Ausdrücke? Regulärer Ausdruck

Mehr

Systemverwaltung mittels Skripts

Systemverwaltung mittels Skripts Systemverwaltung mittels Skripts Sept. 2003 M. Rigling 1 / 1 Version 0.2 Inhaltsverzeichnis: Systemverwaltung mittels Skripts...1 Inhaltsverzeichnis:...2 1. Skriptsprachen...3 2. Zur Erstellung von Skripts...3

Mehr

Theoretische Informatik. Reguläre Sprachen und Automaten

Theoretische Informatik. Reguläre Sprachen und Automaten Theoretische Informatik Reguläre Sprachen und Automaten Reguläre Sprachen Reguläre Ausdrücke und Sprachen Gleichungen Syntaxdiagramme Erweiterungen Anwendungen Reguläre Ausdrücke über Σ Syntax: Konstante

Mehr

Dateisystem 2, RegEx, Manpages

Dateisystem 2, RegEx, Manpages Dateisystem 2, RegEx, Manpages Linux-Kurs der Unix-AG Andreas Teuchert 10. Dezember 2012 Manpages Dokumentation zu Programmen, speziellen Dateien, etc. steht in Manpages Aufruf mit man Manpage

Mehr

Benutzung der Manpage, Shell Teil 3

Benutzung der Manpage, Shell Teil 3 Benutzung der Manpage, Shell Teil 3 Linux-Kurs der Unix-AG Andreas Teuchert 3./9. Mai 2012 Manpages Dokumentation zu Programmen, speziellen Dateien, etc. steht in Manpages Aufruf mit man Manpage

Mehr

18.09.2010 / Software Freedom Day

18.09.2010 / Software Freedom Day 18.09.2010 / Software Freedom Day xkcd Fortsetzung... Grundlegendes Begriff: = regular expressions kurz: regex Funktion: definieren flexible Muster, mit denen in Texten gesucht (und ersetzt) werden kann.

Mehr

lex - Eine Einführung

lex - Eine Einführung lex - Eine Einführung Axel Kohnert 9th May 2005 Abstract lex ist ein Unixprogramm, welches die Erstellung eines C-programms für die lexikalische Analyse unterstützt. Dazu kann man Aktionen definieren,

Mehr

Einführung in die Computerlinguistik Suche mit regulären Ausdrücken

Einführung in die Computerlinguistik Suche mit regulären Ausdrücken Einführung in die Computerlinguistik Suche mit regulären Ausdrücken Dozentin: Wiebke Petersen 9. Foliensatz Wiebke Petersen Einführung CL 1 Suche mit regulären Ausdrücken Suche nach allen Wortformen des

Mehr

Digital Humanities: Übung 1

Digital Humanities: Übung 1 Digital Humanities: Übung 1 Suche mit Boolschen Operatoren und Regulären Ausdrücken Sven Büchel Jena Language & Information Engineering (JULIE) Lab Friedrich-Schiller-Universität Jena, Germany http://www.julielab.de

Mehr

Einführung in die Computerlinguistik Suche mit regulären Ausdrücken

Einführung in die Computerlinguistik Suche mit regulären Ausdrücken Einführung in die Computerlinguistik Suche mit regulären Ausdrücken Dozentin: Wiebke Petersen 9. Foliensatz Wiebke Petersen Einführung CL 1 Suche mit regulären Ausdrücken Suche nach allen Wortformen des

Mehr

Regexp Reguläre Ausdrücke

Regexp Reguläre Ausdrücke Vincent Tscherter Regexp Reguläre Ausdrücke Suchen und Ersetzen von en, das können sehr viele Programme. Aber was, wenn man nach allen Telefonnummern oder E-Mail-Adressen in einem suchen möchte? Oder nach

Mehr

Reguläre Ausdrücke Suchmuster, Pattern Matching

Reguläre Ausdrücke Suchmuster, Pattern Matching Suchmuster, Pattern Matching Ein oder mehrere Einzelzeichen in interner Variablen $_suchen: /e/ #liefert wahr, wenn $_ ein 'e' enthält. /aus/ #liefert wahr, wenn $_ 'aus' enthält. while { if (/e/)

Mehr

Reguläre Ausdrücke 1 / 10. Doing Web Apps. Reguläre Ausdrücke. Letzte Änderung: 2009-04-17 Version: 0.6 Copyright: 2005. Alle Rechte vorbehalten

Reguläre Ausdrücke 1 / 10. Doing Web Apps. Reguläre Ausdrücke. Letzte Änderung: 2009-04-17 Version: 0.6 Copyright: 2005. Alle Rechte vorbehalten 1 / 10 Doing Web Apps Reguläre Ausdrücke Autor: Rüdiger Marwein Letzte Änderung: 2009-04-17 Version: 0.6 Copyright: 2005. Alle Rechte vorbehalten Dieses Dokument darf mit Nennung des Autoren - frei vervielfältigt,

Mehr

Reguläre Ausdrücke. Reguläre Ausdrücke = Regular Expressions = reg.exp./regexp/regexp = RE

Reguläre Ausdrücke. Reguläre Ausdrücke = Regular Expressions = reg.exp./regexp/regexp = RE Blockseminar Einführung in die Korpuslinguistik Seminarleitung: Yvonne Krämer, M.A. REGULAR EXPRESSIONS RegExp Was ist ein regulärer Ausdruck? = Regular Expressions = reg.exp./regexp/regexp = RE Ein regulärer

Mehr

Wozu braucht man das? (1) Wozu braucht man das? (2)

Wozu braucht man das? (1) Wozu braucht man das? (2) Programmierkurs für absolute Anfänger Reguläre Ausdrücke / regular expressions Wozu braucht man das? (1) Caren Brinckmann Sommersemester 2005 http://www.coli.uni-saarland.de/~cabr/teaching.php Programmierkurs

Mehr

Wiederholung. Ein deterministischer endlicher Automat (DEA) über einem Alphabet A besteht aus: einer endlichen Menge von Zuständen Q,

Wiederholung. Ein deterministischer endlicher Automat (DEA) über einem Alphabet A besteht aus: einer endlichen Menge von Zuständen Q, Wiederholung Ein deterministischer endlicher Automat (DEA) über einem Alphabet A besteht aus: einer endlichen Menge von Zuständen Q, einem Anfangszustand q 0 Q, einer Menge von Endzuständen Q E Q, einer

Mehr

Abstrakte Syntax von Prolog (1)

Abstrakte Syntax von Prolog (1) 3. Prolog Syntax 3-1 Abstrakte Syntax von Prolog (1) Abstrakte und konkrete Syntax: Abstrakte Syntax: Nur Datenstrukturen, die der Parser anlegt (z.b. Operatorbaum). Konkrete Syntax: Zeichenketten, die

Mehr

Empfehlenswerte Referenzen

Empfehlenswerte Referenzen Wenn Google etwas nicht finden kann, fragen sie Jack Bauer. ("Fakten über Jack Bauer") Inhalt Empfehlenswerte Referenzen...1 0 Wozu reguläre Ausdrücke?...1 1 Die Elemente regulärer Ausdrücke...2 2 Ein

Mehr

Reguläre Ausdrücke mit Java

Reguläre Ausdrücke mit Java Reguläre Ausdrücke mit Java Johannes Dyck, Thomas Schulz Projektseminar www.prominentpeople.info Gliederung 2 1. Grundlagen von regulären Ausdrücken 1. Aufbau 2. Zeichenklassen 3. Metazeichen 4. Quantoren

Mehr

Arbeiten mit der Shell Teil 4

Arbeiten mit der Shell Teil 4 Arbeiten mit der Shell Teil 4 Linux-Kurs der Unix-AG Zinching Dang 6. Dezember 2017 Übersicht Wiederholung & Vertiefung Regular Expressions Suchen & Finden Befehle & Optionen Zusammenfassung & Ausblick

Mehr

Arbeiten mit der Shell Teil 4

Arbeiten mit der Shell Teil 4 Arbeiten mit der Shell Teil 4 Linux-Kurs der Unix-AG Zinching Dang 06. Dezember 2016 Übersicht Wiederholung & Vertiefung Regular Expressions Suchen & Finden Befehle & Optionen Zusammenfassung & Ausblick

Mehr

Arbeiten mit der Shell Teil 4

Arbeiten mit der Shell Teil 4 Arbeiten mit der Shell Teil 4 Linux-Kurs der Unix-AG Zinching Dang 23. Mai 2017 Übersicht Wiederholung & Vertiefung Regular Expressions Suchen & Finden Befehle & Optionen Zusammenfassung & Ausblick Zinching

Mehr

Übersicht Shell-Scripten

Übersicht Shell-Scripten !!!! Wichtig: Bei Shell-Scripten enden die Zeilen nicht mit einem Strichpunkt!!!! Erste Zeile eines Shell-Scripts: #! /bin/bash Variablen in Shell-Scripts: Variablennamen müssen mit einem Buchstaben beginnen,

Mehr

Formale Sprachen. Anwendungen formaler Sprachen Adressen, Kaffeeautomaten, Programmiersprachen. Rudolf Freund, Marian Kogler

Formale Sprachen. Anwendungen formaler Sprachen Adressen, Kaffeeautomaten, Programmiersprachen. Rudolf Freund, Marian Kogler Formale Sprachen Anwendungen formaler Sprachen Adressen, Kaffeeautomaten, Programmiersprachen Rudolf Freund, Marian Kogler (http://xkcd.com/208) Gültige Adressen: Favoritenstraße 9, 1040 Wien Reumannplatz

Mehr

Vorsemesterkurs Informatik Sommersemester Aufgabenblatt Nr. 1B

Vorsemesterkurs Informatik Sommersemester Aufgabenblatt Nr. 1B Fachbereich Informatik und Mathematik Institut für Informatik Vorsemesterkurs Informatik Sommersemester 209 Aufgabenblatt Nr. B Aufgabe (Verzeichnisse) a) Finden Sie heraus, wie Ihr Homeverzeichnis auf

Mehr

MySQL Informationsgewinnung Teil 3. Stefan Maihack Dipl. Ing. (FH) Datum:

MySQL Informationsgewinnung Teil 3. Stefan Maihack Dipl. Ing. (FH) Datum: MySQL Informationsgewinnung Teil 3 Stefan Maihack Dipl. Ing. (FH) Datum: 18.6.2013 Mustervergleich Problem: Der gesuchte Datensatz ist nur teilweise bekannt Beispiel: alle Bücher zum Thema MySQL exakter

Mehr

b{2} [^b]{2} Reguläre Ausdrücke als Hilfsmittel der Textanalyse Manuel Raaf Bayerische Akademie der Wissenschaften, IT-Referat

b{2} [^b]{2} Reguläre Ausdrücke als Hilfsmittel der Textanalyse Manuel Raaf Bayerische Akademie der Wissenschaften, IT-Referat b{2} [^b]{2} Reguläre Ausdrücke als Hilfsmittel der Textanalyse Manuel Raaf raaf@badw.de Bayerische Akademie der Wissenschaften, IT-Referat Reguläre Ausdrücke engl. regular expressions, kurz: regex, regexp

Mehr

Schritt für Schritt Reguläre Ausdrücke verstehen. Einstieg in. Reguläre Ausdrücke. Michael Fitzgerald O REILLY. Übersetzung von Thomas Demmig

Schritt für Schritt Reguläre Ausdrücke verstehen. Einstieg in. Reguläre Ausdrücke. Michael Fitzgerald O REILLY. Übersetzung von Thomas Demmig Schritt für Schritt Reguläre Ausdrücke verstehen Einstieg in Reguläre Ausdrücke O REILLY Michael Fitzgerald Übersetzung von Thomas Demmig Inhalt Vorwort.... 1 Was ist ein regulärer Ausdruck?... 1 Ein Anfang

Mehr

Reguläre Ausdrücke. Felix Döring, Felix Wittwer 14. November Python-Kurs

Reguläre Ausdrücke. Felix Döring, Felix Wittwer 14. November Python-Kurs Reguläre Ausdrücke Felix Döring, Felix Wittwer 14. November 2016 Python-Kurs Gliederung 1. Grundlagen 2. Matching Regeln Sonderzeichen Zusammengesetzte Regex Spezielle Sequenzen 3. Methoden 4. reqular

Mehr

Suchen & Ersetzen in umfangreichen Dokumentenbeständen

Suchen & Ersetzen in umfangreichen Dokumentenbeständen Suchen & Ersetzen in umfangreichen Dokumentenbeständen Dipl.-Math. Klaus Stolte Klaus.Stolte@tfk.de tekom-regionalgruppentreffen, München, 18.05.2010 Thematische Eingrenzung» Dokumentübergreifendes Suchen

Mehr

Basiskonzepte des Rechnerbetriebs

Basiskonzepte des Rechnerbetriebs Universität Potsdam Institut für Informatik Wintersemester 2013 2014 Basiskonzepte des Rechnerbetriebs Aufgabenblatt 5 7 Standardeingabe und Standardausgabe Viele Prozesse lesen und/oder schreiben Daten.

Mehr

Der Standard-Editor vi

Der Standard-Editor vi Der Standard-Editor vi unabhängig von Terminaltyp, Shell und Graphik Aufruf durch vi oder vi bearbeitet Kopie der Datei im Hauptspeicher zwei (drei) Betriebsmodi Kommandomodus i,a,o,i,a,o ESC

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 17 Einstieg in die Informatik mit Java String Tokenizer Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 17 1 Überblick Tokenizer 2 StringTokenizer 3 Verwendung von String.split

Mehr

Einführung in PERL 2 Reguläre Ausdrücke

Einführung in PERL 2 Reguläre Ausdrücke Einführung in PERL 2 Reguläre Ausdrücke BASIEREND AUF FOLIEN VON DR. H. ZINSMEISTER und dem Buch `Einführung in Perl (Lama Buch) von RL Schwartz&T Phoenix sowie hwp://de.sel[tml.org/perl/sprache/regexpr.htm

Mehr

Betriebssysteme I WS 2016/17. Prof. Dr. Dirk Müller. 6 Textsuche

Betriebssysteme I WS 2016/17. Prof. Dr. Dirk Müller. 6 Textsuche Betriebssysteme I 6 Textsuche WS 2016/17 Prof. Dr. Dirk Müller Dirk Müller: Betriebssysteme I WS 2016/17 2/24 Motivation grep awk sort uniq join Zusammenfassung Überblick Dirk Müller: Betriebssysteme I

Mehr

Unix/Linux Grundlagen für Einsteiger

Unix/Linux Grundlagen für Einsteiger Unix/Linux Grundlagen für Einsteiger Seminarunterlage Version: 6.08 Version 6.08 vom 25. Juli 2016 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen

Mehr

EiP Übung

EiP Übung 1. Verwenden Sie folgenden UNIX Befehl um aus der Datei artikel.txt der Aufgabe 3 eine Liste aller vorkommenden Wörter, zusammen mit Ihrer Frequenz zu erstellen. Tippen Sie folgenden UNIX Befehl ab und

Mehr

Einleitung. liefert Ihnen alle Dateien, die mit.txt enden. Oder dir bericht??.txt

Einleitung. liefert Ihnen alle Dateien, die mit.txt enden. Oder dir bericht??.txt Betrifft Regular Expressions Autor Martin Bracher (martin.bracher@trivadis.com) Art der Info Technische Background Info (November 2003) Quelle Aus unserer Schulungs- und Beratungstätigkeit Einleitung Sie

Mehr

Einführung in die Computerlinguistik Pumpinglemma für reguläre Sprachen. Suche mit regulären Ausdrücken. Dozentin: Wiebke Petersen

Einführung in die Computerlinguistik Pumpinglemma für reguläre Sprachen. Suche mit regulären Ausdrücken. Dozentin: Wiebke Petersen Einführung in die Computerlinguistik Pumpinglemma für reguläre Sprachen Dozentin: Wiebke Petersen 24.11.2009 Wiebke Petersen Einführung CL (WiSe 09/10) 1 Pumping-lemma für reguläre Sprachen Lemma (Pumping-Lemma)

Mehr

Die Klasse string Verfasser: Christian Bartl

Die Klasse string Verfasser: Christian Bartl Die Klasse string Verfasser: Index 1. Allgemein... 3 2. Eingabe von Strings... 3 3. Ausgabe von Strings... 4 4. Länge eines Strings... 4 5. Durchlaufen aller Zeichen eines Strings... 4 6. Kopieren von

Mehr

Shellprogrammierung. Ein Mehrbenutzersystem in der Praxis - Grundlagen Linux WS Mathematisches Institut Göttingen

Shellprogrammierung. Ein Mehrbenutzersystem in der Praxis - Grundlagen Linux WS Mathematisches Institut Göttingen Ein Mehrbenutzersystem in der Praxis - Grundlagen Linux WS 2006-07 Mathematisches Institut Göttingen ist eine Programmiersprache die auf strukturierte Textdateien spezialisiert ist Der Name awk setzt sich

Mehr

3.0 VU Formale Modellierung

3.0 VU Formale Modellierung 3.0 VU Formale Modellierung Gernot Salzer Arbeitsbereich Theoretische Informatik und Logik Institut für Computersprachen SS 206 Inhalt 0. Überblick. Organisation 2. Was bedeutet Modellierung? 3. Aussagenlogik

Mehr

Der vi Editor. Vortrag im Rahmen des Proseminars Unix Tools an der Technischen Universität München im Sommersemester 2005

Der vi Editor. Vortrag im Rahmen des Proseminars Unix Tools an der Technischen Universität München im Sommersemester 2005 Aller Anfang... ;-) Vortrag im Rahmen des Proseminars Unix Tools an der Technischen Universität München im Sommersemester 2005 Vladislav Lazarov lazarov@in.tum.de 3.05.2005 Vladislav Lazarov lazarov@in.tum.de

Mehr

Übersicht PERL. !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!!

Übersicht PERL. !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!! !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!! Erste Zeile eines PERL-Scripts: #! /usr/bin/perl Variablen in PERL: Normale Variablen beginnen mit einem $-Zeichen Array-Variablen beginnen mit

Mehr

Einführung in die Computerlinguistik Pumpinglemma für reguläre Sprachen. Suche mit regulären Ausdrücken. Dozentin: Wiebke Petersen 17.5.

Einführung in die Computerlinguistik Pumpinglemma für reguläre Sprachen. Suche mit regulären Ausdrücken. Dozentin: Wiebke Petersen 17.5. Einführung in die Computerlinguistik Pumpinglemma für reguläre Sprachen Dozentin: Wiebke Petersen 17.5.2010 Wiebke Petersen Einführung CL (SoSe 2010) 1 Pumping-lemma für reguläre Sprachen Lemma (Pumping-Lemma)

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 22 Einstieg in die Informatik mit Java Grundlagen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White

Mehr

Effizientes Arbeiten mit dem Emacs. Suchen und Ersetzen.

Effizientes Arbeiten mit dem Emacs. Suchen und Ersetzen. Effizientes Arbeiten mit dem Emacs Suchen und Ersetzen Rainer Orth Alexander Sczyrba {ro,asczyrba}@techfak.uni-bielefeld.de Suchmethoden Simple Search Emacs springt an das nächste Vorkommen des angegebenen

Mehr

Unterschiede in Dateien mit diff

Unterschiede in Dateien mit diff Unterschiede in Dateien mit diff diff datei1 datei2 vergleicht die Inhalte der beiden Dateien zeilenweise (bei Verzeichnissen die enthaltenen Dateien) und gibt die sich unterscheidenen Zeilen auf stdout

Mehr

Tutorium Reguläre Ausdrücke/Code Munger

Tutorium Reguläre Ausdrücke/Code Munger Tutorium Reguläre Ausdrücke/Code Munger (Version 1.2 vom 14.3.2014) Einleitung Mit reguläre Ausdrücken lassen sich Mengen von Zeichenketten beschreiben. Diese Beschreibungen werden dann zum Beispiel zur

Mehr

Effizientes Arbeiten mit dem Emacs. Suchen und Ersetzen.

Effizientes Arbeiten mit dem Emacs. Suchen und Ersetzen. Effizientes Arbeiten mit dem Emacs Suchen und Ersetzen Rainer Orth Alexander Sczyrba {ro,asczyrba}@techfak.uni-bielefeld.de Suchmethoden Simple Search Emacs springt an das nächste Vorkommen des angegebenen

Mehr

Shellprogrammierung. Einführung in Linux. Antonia Blanke. Operatoren Schleifen Case Funktionen Kommandos Signale Stringmanipulation

Shellprogrammierung. Einführung in Linux. Antonia Blanke. Operatoren Schleifen Case Funktionen Kommandos Signale Stringmanipulation Einführung in Linux Antonia Blanke :Zuweisung,Arithmetisch,Bitweise Logische Andere Die Bash stellt verschiedene zur Verfügung Zuweisungsoperatoren Arithmetische Bitweise Logische Andere :Zuweisung,Arithmetisch,Bitweise

Mehr

Kommunikationsmuster (T) Interprozesskommunikation (T) Kommunikation über Pipes (P) Parserspezifikation und -generierung (P)

Kommunikationsmuster (T) Interprozesskommunikation (T) Kommunikation über Pipes (P) Parserspezifikation und -generierung (P) Systempraktikum im Wintersemester 2009/2010 (LMU): Vorlesung vom 19.11. Foliensatz 4 Kommunikationsmuster (T) Interprozesskommunikation (T) Kommunikation über Pipes (P) Parserspezifikation und -generierung

Mehr

Beuth Hochschule Einführende Gentle-Programme WS12/13, S. 1

Beuth Hochschule Einführende Gentle-Programme WS12/13, S. 1 Beuth Hochschule Einführende Gentle-Programme WS12/13, S. 1 Einführende Gentle-Programme Dieses Papier soll die Syntax und Semantik (die Schreibweise und Bedeutung) von einfachen Gentle Programmen anhand

Mehr

Induktive Definition

Induktive Definition Rechenregeln A B = B A A (B C) = (A B) C A (B C) = (A B) C A (B C) = A B A C (B C) A = B A C A {ε} A = A A {ε} = A (A {ε}) = A (A ) = A A A = A + A A = A + A + {ε} = A Beispiel. Real-Zahlen = {0,..., 9}

Mehr

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Algorithmen mit konstantem Platzbedarf: Die Klasse REG Algorithmen mit konstantem Platzbedarf: Die Klasse REG Sommerakademie Rot an der Rot AG 1 Wieviel Platz brauchen Algorithmen wirklich? Daniel Alm Institut für Numerische Simulation Universität Bonn August

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form

Mehr

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

Teil 1: Einführung in die Shell. Was ist die Shell? Wichtige Kommandos (1) Einführung in die Shell. Grundlagen der Shell-Programmierung Einführung in die Shell Grundlagen der Shell-Programmierung Daniel Lutz 22.10.2003 Teil 1: Einführung in die Shell 1 2 Was ist die Shell? Schnittstelle zwischen Benutzer und Computer

Mehr

Arbeiten mit der Shell Teil 2

Arbeiten mit der Shell Teil 2 Arbeiten mit der Shell Teil 2 Linux-Kurs der Unix-AG Sebastian Weber 22. November 2013 cat cat ( concatenate ): gibt den Inhalt von Dateien aus Wichtige Optionen: -A: nicht darstellbare Zeichen (Tabs,

Mehr

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

Linux Kommandozeile: Einfache Skripte. 1 Wiederhohlung. 2 Einfache Skripte Linux Kommandozeile: Einfache Skripte AST, Wintersemester 2016/2017 1 Wiederhohlung Hier sind ein paar Befehle, die ihr letzte Woche schon kennen gelernt habt und heute benutzt. Befehl Parameter Funktion

Mehr

Arbeiten mit der Shell Teil 1

Arbeiten mit der Shell Teil 1 Arbeiten mit der Shell Teil 1 Linux-Kurs der Unix-AG Benjamin Eberle 4. Mai 2016 Die Komandozeile unter Linux Wird als Shell bezeichnet Die Shell ist eines der vielen Programme einer Linux-Distribution

Mehr

Übung 4: Schreiben eines Shell-Skripts

Übung 4: Schreiben eines Shell-Skripts Aufgabenteil 1 Ziel der Übung Übung 4: Schreiben eines Shell-Skripts Anhand eines einfachen Linux-Skripts sollen die Grundlagen der Shell-Programmierung vermittelt werden. Das für die Bash-Shell zu erstellende

Mehr

LinuxUser 08/2002: Reguläre Ausdrücke

LinuxUser 08/2002: Reguläre Ausdrücke Reguläre Ausdrücke Nadel im Heuhaufen von Marc André Selig Regulären Ausdrücken begegnet man auf Unix-Systemen an allen Ecken und Enden. Doch was genau hat es damit auf sich, und wie nutzt man sie? Reguläre

Mehr

Arithmetik in der tcsh

Arithmetik in der tcsh Arithmetik in der tcsh Variablen speichern Zeichenketten (also Strings/Wörter) @ statt set Interpretation als arithmetische Ausdrücke (aus Ziffern, (, ), +, -, *, /, % bestehend) Beispiele: @ var = (3

Mehr

Abschnitt 17: Beispiel: Die Klasse String (Teil 2), das Interface Comparable<T>

Abschnitt 17: Beispiel: Die Klasse String (Teil 2), das Interface Comparable<T> Abschnitt 17: Beispiel: Die Klasse String (Teil 2), das Interface Comparable 17. Beispiel: Die Klasse String (Teil 2), das Interface Comparable 17.1 Vergleich von Zeichenketten 17.2 Das Interface

Mehr

Inhalte der Vorlesung. 3. Der Textstrom-Editor sed. 3. Der Textstrom-Editor sed. Grundprinzip eines Textstrom-Editors

Inhalte der Vorlesung. 3. Der Textstrom-Editor sed. 3. Der Textstrom-Editor sed. Grundprinzip eines Textstrom-Editors Inhalte der Vorlesung 3. Der Textstrom-Editor sed 1.Einführung 2.Lexikalische Analyse 3.Der Textstrom-Editor sed 4.Der Scanner-Generator lex (2 Termine) 5.Syntaxanalyse und der Parser-Generator yacc (3

Mehr

Perl Regular Expressions in Base SAS

Perl Regular Expressions in Base SAS Webinar@Lunchtime Perl Regular Expressions in Base SAS Perl Reguläre Ausdrücke (Perl Regular Expressions) Einleitung Perl Regulare Ausdrücke beschreiben einen Text, der als Muster dient. In einem solchen

Mehr

C. Ortseifen: Reguläre Ausdrücke

C. Ortseifen: Reguläre Ausdrücke Inhalt Reguläre Ausdrücke mit SAS Einsatz der RX- und PRX-Funktionen Dr. Carina Ortseifen SAS-Treff am URZ 2. Dezember 2005 1. Einleitung 2. Aufbau der regulären Ausdrücke 3. Beispiele 4. Reguläre Ausdrücke

Mehr

1 Schöner suchen und ersetzen mit GREP

1 Schöner suchen und ersetzen mit GREP 18 1 Schöner suchen und ersetzen mit GREP Bei der Arbeit in InDesign kommt man oft mit der Suchen/Ersetzen- Funktion in Berührung. Viele Anwender beschränken sich auf die Suche nach bestimmten Texten,

Mehr

Reguläre Ausdrücke. AnPr

Reguläre Ausdrücke. AnPr Name Klasse Datum 1 Allgemeines Reguläre Ausdrücke (engl. Regular Expressions) dienen dazu, Texte bzw. Textpassagen zu beschreiben, indem Texte als Mengen von Zeichen interpretiert werden und die Beschreibung

Mehr

Vorsemesterkurs Informatik Sommersemester Aufgabenblatt Nr. 4A

Vorsemesterkurs Informatik Sommersemester Aufgabenblatt Nr. 4A Fachbereich Informatik und Mathematik Institut für Informatik Vorsemesterkurs Informatik Sommersemester 2017 Aufgabenblatt Nr. 4A zu Aufgabe 1 (Verzeichnisse) a) Öffnen Sie eine Shell und finden Sie durch

Mehr

Vorsemesterkurs Informatik Sommersemester Aufgabenblatt Nr. 4A

Vorsemesterkurs Informatik Sommersemester Aufgabenblatt Nr. 4A Fachbereich Informatik und Mathematik Institut für Informatik Vorsemesterkurs Informatik Sommersemester 2018 Aufgabenblatt Nr. 4A Aufgabe 1 (Haskell Interpreter: GHCi) a) Starten Sie den Haskell Interpreter

Mehr