Einleitung. liefert Ihnen alle Dateien, die mit.txt enden. Oder dir bericht??.txt
|
|
- Adam Braun
- vor 7 Jahren
- Abrufe
Transkript
1 Betrifft Regular Expressions Autor Martin Bracher Art der Info Technische Background Info (November 2003) Quelle Aus unserer Schulungs- und Beratungstätigkeit Einleitung Sie kennen sicher das Problem, Daten auf ihre formale Gültigkeit zu prüfen: Ist die - Adresse richtig geschrieben? Hat die Kontonummer das richtige Format? Ist die eingegebene IP-Adresse gültig? Ist die Telefonnummer plausibel? Zu Zeiten von Oracle 8.0 hatte ich mal das Problem, in einer Tabelle, die in einem Textfeld gespeicherten Telefonnummern auf Gültigkeit zu prüfen. Ich hätte mir damals gewünscht, es gäbe sowas wie eine Regular-Expression-Funktion in Oracle. War damals leider nicht vorhanden und mit like "%_" kommt man nicht sehr weit Aufwendige PL/SQL Programmierung war angesagt. Regular Expression? Nie gehört? Dann versuche ich das mal ganz einfach zu erklären. Sie kennen sicher die Möglichkeit, Dateinamen mit Platzhaltern zu suchen. dir *.txt liefert Ihnen alle Dateien, die mit.txt enden. Oder dir bericht??.txt liefert Ihnen beispielsweise bericht99.txt oder berichtxy.txt, nicht aber bericht999.txt. Unter Unix können Sie mit ls bericht[0-9][0-9].txt noch einschränken, dass Sie an diesen zwei Stellen nur Ziffern wünschen. Die Verwendung der Platzhalter * und? unter Windows und Unix oder % und _ in SQL ermöglicht es uns, nach einfachen Mustern zu suchen. Mit Regular Expressions, im folgenden Regexp genannt, können wir ebenfalls nach Mustern suchen und zwar auch nach sehr komplexen Mustern. Unser Beispiel von oben sieht dann so aus: bericht..\.txt Der Punkt steht für ein beliebiges Zeichen, deshalb muss ein Punkt durch \. dargestellt werden. Nun, eine Regexp ist natürlich viel mächtiger. bericht([[:digit:]]{1,3})?\.(txt doc) Hier wird nach bericht entweder keine oder eine? 1- bis 3stellige {1,3} Zahl erwartet, danach folgt ein Punkt und die Endung txt oder doc.
2 Tabellarisch zusammengefasst die häufigsten Regexp-Symbole: Symbol Bedeutung * kein oder beliebig oft? kein oder einmal + ein oder beliebig oft {4} genau 4 Mal {3,6} zwischen 3 und 6 Mal. beliebiges Zeichen [0-9A-F] ein Zeichen aus der Menge 0 bis 9 und A bis F [:alnum:] Zeichen-Klasse, hier Alphanumerische Zeichen (Buchstaben und Ziffern) () Gruppierung, wird als eigener Sub-Ausdruck behandelt \2 Referenzierung der 2. Gruppierung, d.h. zweites Klammerpaar () (xx y) xx oder y ^ Anfang der Zeile $ Ende der Zeile Ab Oracle8i ist dann das owa_pattern Package hinzu gekommen, das aber so einige Nachteile hat: langsam mehr für PL/SQL geeignet (in/out Parameter bei den meisten Funktionen) nicht vollständige Implementation von Regexp Nun habe ich mit Freuden gesehen, dass ab Oracle 10g Funktionen zum Umgang mit Regexp s in die SQL-Engine aufgenommen wurden: REGEXP_LIKE REGEXP_REPLACE REGEXP_INSTR REGEXP_SUBSTR Interessant zu sehen ist, was sich mit den für Oracle 10g angekündigten regexp_* Funktionen ändert und wie und wo wir sie vernünftig einsetzen können. Aufgabe: Anzahl der Objekte, die mit einem 'A' beginnen Diese Aufgabe lässt sich ganz einfach mit "like" lösen. where object_name like 'A%'; Nun versuchen wir es mit dem owa_pattern Package. Die Funktion "match" lässt sich in SQL leider nicht verwenden, da sie in/out-parameter verwendet. Es bleibt somit nur die "amatch" Funktion, bei der man aber den Start angeben muss (hier 1. Stelle ein 'A') where owa_pattern.amatch(object_name,1,'a') >0 ;
3 Auf einer Oracle9i Datenbank auf meinem Laptop mit rund 6000 Objekten ist diese Variante massiv langsamer. Während die 'like' Variante in 0.02 Sekunden fertig war, brauchte amatch mehrere Sekunden! Mit dem neuen REGEXP_LIKE sieht das dann so aus: where regexp_like(object_name,'^a') ; Das ^ bedeutet, dass es sich um den Anfang handelt. Ein $ kennzeichnet das Ende. Wie schnell ist nun diese Variante? Lassen Sie sich überraschen, sobald Sie im Besitz von Oracle 10g sind. Aufgabe: Anzahl der Records, die irgendwo ein 'A' enthalten. Auch diese Aufgabe lässt sich mit 'like' noch einfach lösen: where object_name like '%A%'; Nun versuchen wir es wieder mit dem owa_pattern Package. Bei der amatch-funktion muss wiederum der Start angegeben werden, somit kann nicht die genau gleiche Regexp gebraucht werden wie beim regexp_like. Im Search-Pattern muss ".*" für beliebige Zeichen am Anfang gesetzt werden, da das A an beliebiger Stelle stehen darf. where owa_pattern.amatch(object_name,1,'.*a') >0 ; Mit regexp_like kann mit einer einfacheren Regular Expression gearbeitet werden: where regexp_like(object_name,'a') ; Wollen Sie die Leistungsfähigkeit von regexp_like mit OWA_PATTERN vergleichen, dann müssen Sie ehrlicherweise auch mit einer möglichst analogen Regexp testen where regexp_like(object_name,'^.*a') ; Apropos Vergleich: Die Heimat der Regular Expressions ist die Unix Betriebssystem- Umgebung mit ihren Tools wie z.b. egrep, sed oder perl. Interessant wird ein Vergleich von regexp_like mit diesen Tools sein. Wenn nur bestimmte Daten von einem File in die Datenbank gelesen werden sollen, besteht die Möglichket, diese bereits vor dem Einlesen mit grep zu filtern oder während des Einlesens mit regexp_like zu filtern. /u00/app/oracle> egrep "A" all_objects.lst > import_object.lst /u00/app/oracle> egrep "^A" all_objects.lst > import_object.lst
4 Anwendung der Funktionen für Fortgeschrittene Mit den beiden Beispielen wird man den Möglichkeiten der regexp_% Funktionen nicht gerecht. Ich habe daher einige Versuche zum eingangs erwähnten Beispiel mit den Telefonnummern gemacht, wie man mit diesen Funktionen gut arbeiten kann. Die normalen Schweizer Telefonnummern bestehen prinzipiell aus einer 3stelligen Vorwahl 020 bis 099 oder 01 (Zürich), gefolgt von 7 Ziffern. Bei der Verwendung der internationalen Vorwahl +41 wird die 0 der Vorwahl weggelassen. Die Tabelle TELEFON enthält immer die gleiche Telefonnummer in unterschiedlichster Schreibweise. # TFNR 1 01/ '76' / / (0) Wie kann man nun prüfen, ob das eine gültige Zürcher Telefonnummer ist (Vorwahl 01), und sie anschliessend einheitlich formatiert ausgeben? Die Telefonnummer ist, wie es der Name schon sagt, eine Nummer, also eine Folge von Ziffern. Menschen haben jedoch die Gewohnheit, die Ziffernfolge durch verschiedene Zeichen zu gruppieren. Um nicht alle Gruppierungsarten einzeln zu prüfen, wird es am Einfachsten sein, alle Gruppierungszeichen zu entfernen. Dazu verwenden wir regexp_replace(tfnr,'[^[:digit:]]','') Wir ersetzen alles, das keine [^] Zahl [:digit:] ist, durch nichts ('', kann auch weggelassen werden). Jetzt haben wir nur noch das "+" übersehen, das als Stellvertreter für die internationale Vorwahl steht, für uns also eine Art Spezialziffer, die wir nicht verlieren dürfen. Wir fügen es deshalb noch hinzu (mit \ geschützt, da + sonst eine spezielle Bedeutung hat): regexp_replace(tfnr,'[^[:digit:]\+]') select tfnr, regexp_replace(tfnr,'[^[:digit:]\+]') tfnr_clean from telefon # TFNR TFNR_CLEAN 1 01/ '76'
5 5 01 / / (0) Mit diesen bereinigten Nummern kann man nun viel einfacher die Gültigkeit prüfen. Die Nummer ist formal gültig, wenn sie eine Vorwahl 01 oder +411 hat und danach 7 Stellen. Zu berücksichtigen ist noch der ursprüngliche Spezialfall "+41 (0)1", den wir hier als Vorwahl betrachten (und bereinigen) können. Die Vorwahl lässt sich durch folgende Regexp beschreiben: '^(01 \+41(1 01))' Die nachfolgenden Stellen beschreibt man mit: '[[:digit:]]{7}$' Wir möchten nun z.b. alle Telefonnummern einheitlich mit der internationalen '+411' Vorwahl dargestellt haben. Dazu selektieren wir mit "where regexp_like" die passenden Telefonnummern und formatieren sie dann mit regexp_replace nach unseren Vorstellungen um (wir ersetzen die und 01 Vorwahl durch +411) select tfnr, regexp_replace(regexp_replace(tfnr,'[^[:digit:]\+]'), '^(01 \+4101)', '+411') from telefon where regexp_like(regexp_replace(tfnr,'[^[:digit:]\+]'),'^(01 \+41(1 01))[[:digit:]]{7}$') # TFNR TFNR_INT 1 01/ '76' / / (0) Es führen viele Wege nach Rom... Die Regexp in der where-bedingung liesse sich z.b. auch so formulieren: '^(0 \+41[0]?)1[[:digit:]]{7}$' Dies ist ein relativ einfaches Beispiel, das nur die "01"-Telefonnummern berücksichtigt. Mit wenig Aufwand lassen sich aber auch alle anderen Vorwahlen wie z.b. "033" prüfen: '^(0 \+41[0]?)(1 [2-9][[:digit:]])[[:digit:]]{7}$' select
6 tfnr, regexp_replace(regexp_replace(tfnr,'[^[:digit:]\+]'), '^(0 \+410)', '+41') from telefon where regexp_like(regexp_replace(tfnr,'[^[:digit:]\+]'), '^(0 \+41[0]?)(1 [2-9][[:digit:]])[[:digit:]]{7}$') Fazit Regular Expressions sind ein sehr mächtiges Werkzeug und es führen meist viele Wege zum Ziel. Damit man den Überblick behält, sollte man nicht alle Bedingungen auf einmal zu formulieren versuchen, sondern grob beginnen, testen und dann immer mehr verfeinern. Sehr wichtig ist, dass man die einzelnen Teile der Expression genau dokumentiert. Ein Aussenstehender hat sonst bei komplexeren Regexp s kaum noch eine Chance zu verstehen, was die Regexp eigentlich macht. Und nach kurzer Zeit weiss man es selbst wohl auch nicht mehr. Oracle stellt uns mit diesen Funktionen ein geniales Hilfsmittel zur Verfügung. Laut Dokumentation verstehen die neuen Funktionen zur Zeit leider nur die Character Classes (z.b. [[:alnum:]] ) und nicht auch die von grep und perl gewohnten Synonyme (z.b. \d für [[:digit:]]). Dies wäre für die Lesbarkeit und das Schreiben von Vorteil. Innerhalb der REGEXP_REPLACE Funktionen kann auf die durch Klammern gruppierten Ausdrücke durch \n verwiesen werden, wobei n die n-te öffnende Klammer ist. Bei regexp_replace(tfnr, '^01([[:digit:]]{7})', '+411\1')$ können die letzten 7 Ziffern durch \1 referenziert werden. Praktisch wäre noch, wenn die im where gefundenen Klammer-Ausdrücke auf ähnliche Art bei einem Update zur Verfügung stünden: update telefon set tfnr='+411\3' --geht leider nicht where regexp_like(regexp_replace(tfnr, '[^[:digit:]\+]'), '^(01 \+41(1 01))([[:digit:]]{7})$') Die letzten 7 Stellen wären hier in \3, weil es die 3. öffnende Klammer ist. Aber das geht leider nicht, wir müssen auch im set-teil mit regexp_replace arbeiten. Die Funktionen sind ideal für formale Inhaltsprüfungen, welche über die Möglichkeiten von LIKE hinausgehen. Sie ermöglichen es, viele Prüfungen, die bisher mühsam und ineffizient mit PL/SQL gemacht werden mussten, durch eine effiziente, performante Standardfunktion zu ersetzen. Die Regexp Funktionen lassen sich auch in Constraints verwenden. Wenn sich jedoch etwas mit LIKE lösen lässt, dann sollte man es auch weiterhin mit LIKE lösen, da dies technisch weniger aufwendig und dadurch schneller ist. Verwendete Dokumentation
7 Wollen Sie mehr über Regular Expressions erfahren, dann besuchen Sie doch demnächst unseren Oracle 10g TechnoCircle oder einen unserer Kurse. Viel Spass mit Oracle und den Regular Expressions! Martin Bracher Trivadis GmbH Max-Lang-Strasse Leinfelden-Echterdingen Tel: Fax:
Reguläre Ausdrücke in Oracle 10g Waren Queries bis jetzt irregulär? Dr. Martin Wunderli Trivadis AG
Reguläre Ausdrücke in Oracle 10g Waren Queries bis jetzt irregulär? Dr. Martin Wunderli Trivadis AG www.trivadis.com Reguläre Ausdrücke in Oracle 10g > Grundlagen > Vor Oracle 10g > Ab Oracle 10g > Check/Suchen/Ersetzen
MehrReguläre Ausdrücke in Oracle 10g Waren Queries bis jetzt irregulär?
Donnerstag, 11. November 2004 13h00, Mozartsaal Reguläre Ausdrücke in Oracle 10g Waren Queries bis jetzt irregulär? Dr. Martin Wunderli Trivadis AG, Zürich-Glattbrugg Schlüsselworte Reguläre Ausdrücke,
MehrRegular 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
MehrLinux 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
MehrProseminar UNIX Tools. Ferdinand Beyer
Reguläre Ausdrücke Proseminar UNIX Tools Ferdinand Beyer Technische Universität München 08.11.2005 Ferdinand Beyer (TUM) Reguläre Ausdrücke 08.11.2005 1 / 39 Gliederung Allgemeines 1 Allgemeines 2 Notation
MehrMySQL 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
MehrUNIX 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
MehrLinux 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
MehrSebastian 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]
MehrDateisystem 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/ 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
MehrBenutzung 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
MehrDateisystem 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
MehrFormale 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
MehrDateisystem 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
MehrEinleitung. ROLLUP, CUBE und GROUPING. Markus Jägle (markus.jaegle@trivadis.com) Art der Info Technische Background Info (April 2002)
Betrifft Autör: GROUPING_ID Markus Jägle (markus.jaegle@trivadis.com) Art der Info Technische Background Info (April 2002) Quelle Aus dem Oracle9i Data Warehousing Guide und den Kursen New Features Oracle9i
MehrRegulä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
MehrPerl 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
MehrVorteile einer Tool gestützten Modernisierung von Forms und Reports
Vorteile einer Tool gestützten Modernisierung von Forms und Reports Schlüsselworte Forms, Reports, Modernisierung, Tools, Weblogic Einleitung Jan-Peter Timmermann Pitss GmbH Stuttgart Mit diesem Vortrag
Mehrgrep kurz & gut John Bambenek and Agnieszka Klus
grep kurz & gut grep kurz & gut John Bambenek and Agnieszka Klus Beijing Cambridge Farnham Köln Sebastopol Tokyo Copyright der deutschen Ausgabe 2009 by O'Reilly Verlag GmbH & Co.KG Darstellung eines
MehrPython für Linguisten
Python für Linguisten Dozentin: Wiebke Petersen & Co-Dozentin: Esther Seyarth Fortgeschrittene Zeichenkettenverarbeitung mit regulären Ausdrücken Esther Seyarth Python 1 Motivation Wir haben bereits einige
MehrOracle 10g Einführung
Kurs Oracle 10g Einführung Teil 7 Einige interessante SQL und PL/SQL Erweiterungen für Administratoren Timo Meyer Administration von Oracle-Datenbanken Timo Meyer Sommersemester 2006 Seite 1 von 19 Seite
MehrStream 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
MehrEin- 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
MehrKleine Helferlein. Jens Behring its-people. Copyright its-people
Jens Behring its-people Werbung Agenda Werbung Vorstellung Jens Behring its-people Vorstellung des Vortragsthemas Analytische Funktionen Reguläre Ausdrücke Count Listagg Rank Lead / Lag Werbung Agenda
MehrCSV mit reinem SQL & der Magie von JSON_TABLE einlesen
CSV mit reinem SQL & der Magie von JSON_TABLE einlesen 17. November 2016 Robert Marz Robert Marz Kunde Technical Architect mit datenbankzentrischem Weltbild its-people Portfoliomanager Datenbanken Blogredakteur
MehrRegulä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.
MehrFormale 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
MehrMySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.
MySQL-Befehle 1. Einleitung In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. 2. Arbeiten mit Datenbanken 2.1 Datenbank anlegen Eine Datenbank kann man wie folgt
MehrEs geht also im die SQL Data Manipulation Language.
1 In diesem Abschnitt wollen wir uns mit den SQL Befehlen beschäftigen, mit denen wir Inhalte in Tabellen ( Zeilen) einfügen nach Tabelleninhalten suchen die Inhalte ändern und ggf. auch löschen können.
MehrTheoretische 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
Mehrzur Verfügung gestellt durch das OpenOffice.org Dokumentations-Projekt
Serienbriefe Wie Sie einen Serienbrief mittels Calc und Writer erstellen zur Verfügung gestellt durch das OpenOffice.org Dokumentations-Projekt Inhaltsverzeichnis 1. Erzeugen einer Quelldatei 2. Erzeugung
MehrÜbersicht der wichtigsten MySQL-Befehle
Übersicht der wichtigsten MySQL-Befehle 1. Arbeiten mit Datenbanken 1.1 Datenbank anlegen Eine Datenbank kann man wie folgt erstellen. CREATE DATABASE db_namen; 1.2 Existierende Datenbanken anzeigen Mit
MehrÜ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,
Mehr3 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
MehrShell-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
Mehr18.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.
MehrGeodatenmodellierung. Regeln zur Nomenklatur. Umweltdepartement Amt für Vermessung und Geoinformation
Umweltdepartement Amt für Vermessung und Geoinformation Bahnhofstrasse 16 Postfach 1213 6431 Schwyz Telefon 041 819 25 41 Geodatenmodellierung Regeln zur Nomenklatur 1 Zu diesem Dokument Hintergrund Die
MehrAbfragen mit Platzhaltern
Abfragen mit Platzhaltern Um für Abfragen Kriterien zu definieren, die Werte nach einem speziellen Muster auswählen, werden Platzhalter verwendet. Diese werden auch als Jokerzeichen bezeichnet und in sogenannten
MehrSystemverwaltung 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
MehrDie SQL-Schnittstelle
Die SQL-Schnittstelle Merlin 19 Version: 19.0 Stand: 01.03.2016 Angerland-Data Gesellschaft für Baudatentechnik mbh Am Gierath 28, 40885 Ratingen DEUTSCHLAND Internet: www.angerland-data.de Inhalt Die
MehrAPEX 5. Mit 6 Klicks kostenfrei zur APEX Webapplikation. Robotron Datenbank-Software GmbH Schulungszentrum Heilbronner Straße Dresden
APEX 5 Mit 6 Klicks kostenfrei zur APEX Webapplikation Robotron Datenbank-Software GmbH Schulungszentrum Heilbronner Straße 21 01189 Dresden Agenda Wie können Sie in nur 6 Schritten zu einer Oracle Application
MehrEffizientes 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
MehrDie SQL-Schnittstelle
Die SQL-Schnittstelle Merlin 16 Version 16.0 vom 09.10.2012 Inhalt Die SQL-Export-Schnittstelle... 4 Der Menüpunkt Abfrage durchführen... 4 Beschreibung Fenster Abfrage durchführen... 4 Schaltflächen Fenster
MehrE-/A-Funktionalität nicht Teil der Programmiersprache
C Ein-/Ausgabe C Ein-/Ausgabe C.1 Überblick E-/A-Funktionalität nicht Teil der Programmiersprache Realisisierung durch "normale" Funktionen Bestandteil der Standard-Funktionsbibliothek einfache Programmierschnittstelle
MehrEffizientes 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
MehrGI Vektoren
Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung
Mehr8. Arbeiten mit Dateien
8. Arbeiten mit Dateien www.c-programme.de Stefan Thiemert Kapitel 8 - Seite 1 von 6 8. 1. Allgemeines Bisher haben wir Daten, die wir in unseren Programmen erzeugt und verarbeitet haben, nur über den
MehrPropä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
MehrEine kleine Einführung in die Anwendung der Software
HEALING FREQUENCY Eine kleine Einführung in die Anwendung der Software Bevor mit dieser Anleitung gearbeitet werden kann, muss man sich zunächst die kostenlose Standard Version der Software herunterladen
MehrDatenbanken Kapitel 1
Datenbanken Kapitel 1 1 Einführung Eine Datenbank dient zum Speichern, Ordnen und Abrufen von Daten verschiedener Art. Man könnte eine Datenbank mit einer Kartei vergleichen, welche diverse Informationen
Mehrmgssepa.dll SEPA LIBRARY MICHAEL GRUBE MG SOFTWARE ENTWICKLUNG
2016 mgssepa.dll SEPA LIBRARY MICHAEL GRUBE MG SOFTWARE ENTWICKLUNG http://www.mgs-entwicklung.de Vorwort Die vorliegende DLL hilft Ihnen mit wenig Aufwand eine Sepa,- Lastschrift oder Überweisung zu erstellen.
Mehrids-system GmbH Tipp #3 Leer-Strings in SQL oder die Frage nach CHAR oder VARCHAR
ids-system GmbH Tipp #3 Leer-Strings in SQL oder die Frage Zusammenfassung Dieses Dokument beschreibt die Unterschiede zwischen CHAR und VARCHAR Datentyp sowie die Behandlung im SQL Michael Tiefenbacher
MehrDigital 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
MehrUrs Meier (urs.meier@trivadis.com) Art der Info Technical Info (Februar 2002) Aus unserer Projekterfahrung und Forschung
Betrifft Optimizer Autor Urs Meier (urs.meier@trivadis.com) Art der Info Technical Info (Februar 2002) Quelle Aus unserer Projekterfahrung und Forschung Einführung Mit jedem Oracle Release nimmt die Anzahl
MehrDas Grundlagenbuch zu FileMaker Pro 7- Datenbanken erfolgreich anlegen und verwalten
Das Grundlagenbuch zu FileMaker Pro 7- Datenbanken erfolgreich anlegen und verwalten SMART BOOKS Inhaltsverzeichnis..««... Vorwort 13 Kapitel 1 - Einführung 17 Crashkurs: FileMaker Pro 7 anwenden 19 Eine
Mehr» ASCII = American Standard Code for Information Interchange.» ASCII ist Standard in Windows und Unix (und Unix-Derivaten).» ASCII ist eigentlich ein
1 2 » ASCII = American Standard Code for Information Interchange.» ASCII ist Standard in Windows und Unix (und Unix-Derivaten).» ASCII ist eigentlich ein 7-Bit-Zeichensatz, d. h. das erste Bit jedes Bytes
MehrElementare 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
MehrECDL EXCEL ... ADVANCED
1 BEARBEITEN 1.1 Daten 1.1.1 Zellbereich benennen Tabellen sind in Zeilen und Spalten unterteilt. Jede dieser Schnittstellen bildet eine Zelle. Bekanntlich werden diese Zellen nach ihrer Spalte (A-XFD)
MehrUnsere Webapplikation erweitern
Unsere Webapplikation erweitern Um mit Play zu arbeiten: 1. Starten Sie zunächst den MySQL-Server. Führen Sie dazu auf dem USB-Stick mysql_start.cmd aus. 2. Sie brauchen eine Windows-Kommandozeile: Starten
MehrQuery-Manager Kurzanleitung Inhalt. Query-Manager. Kurzanleitung
Query-Manager Kurzanleitung Inhalt Query-Manager Kurzanleitung 1 Inhalt 1. Selektion über Sachdaten... 3 2. Einfache Abfrage... 3 2.1. Objektklasse und Tabelle auswählen... 3 2.2. Attributeigenschaften
MehrUm einen neuen Konnektor anzulegen klicken sie auf die Schaltfläche Neue Konfiguration > Befüllung folgender Felder:
Konnektoren Ein Konnektor dient im Normalfall zum Abgleich bzw. Synchronisation zweier "Seiten" (Quellbzw. Zielkonnektor), wie z.b. um die Gruppen aus dem Ta-Modul (Zeitwirtschaft) mit den Gruppen aus
MehrHochschule Albstadt - Sigmaringen
Hochschule Albstadt - Sigmaringen Fach : Informatik/Progr. Prüfer : Prof.Dr.Ruf Datum : 8.1.009 Semester : 6. BKT (Bachelor) Umfang : 5 Seiten / 60 Min. (14:00 15:00) Name Matrikel-Nr. : : Semester : max.
Mehrgrep Tutorial update
grep Tutorial update 06.11.2002 Gesamtindex: Startseite Forum Musik und Recht Juristische Links Sonstige Links Mail Privat Die Volltext-Suche mit regulären Ausdrücken - eine Anleitung zur Nachbildung der
Mehr12 BG EDV Access / Inf-SQL1 Theodor-Heuss-Schule Wetzlar
Abfragen aus einer Tabelle mit Hilfe der Datenbank-Sprache SQL SQL (Structured Query Language) ist eine Computersprache zum Speichern, Bearbeiten und Abfragen von Daten in relationalen Datenbanken. Eine
MehrArbeiten 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
MehrSchritt 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
MehrGenerieren von Concurrent Lizenzen. Hilfe für
Generieren von Concurrent Lizenzen Hilfe für www.intergraph.com/sgi/license SG&I Lizenzen April 2010 2010 Intergraph SG&I Deutschland GmbH. Alle Rechte vorbehalten. Der Inhalt dieses Dokuments ist urheberrechtlich
MehrArbeiten 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
MehrFunktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion
Überblick über Stored Functions Funktionen Eine Funktion ist ein benannter PL/SQL- Block, der einen Wert zurückgibt. Eine Funktion kann in der Datenbank als Objekt zur wiederholbaren Ausführung gespeichert
MehrSQL. SQL SELECT Anweisung SQL-SELECT SQL-SELECT
SQL SQL SELECT Anweisung Mit der SQL SELECT-Anweisung werden Datenwerte aus einer oder mehreren Tabellen einer Datenbank ausgewählt. Das Ergebnis der Auswahl ist erneut eine Tabelle, die sich dynamisch
MehrArbeiten 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
MehrAggregatfunktionen in SQL
Aggregatfunktionen in SQL Michael Dienert 14. April 2008 1 Definition von Aggregatfunktionen Ihren Namen haben die Aggregatfunktionen vom englischen Verb to aggregate, was auf deutsch anhäufen, vereinigen,
MehrTomTom ecoplus. Update Tool
TomTom ecoplus Update Tool Willkommen Willkommen Mit dem TomTom ecoplus Update Tool können Sie die Software Ihres TomTom ecoplus-geräts mit einem TomTom LINK 3xx/510 und dem ecoplus-netzteil aktualisieren.
MehrUm Zellformatierung aufzurufen wählen Sie Register START / und anschließend die jeweiligen Gruppen-Dialoge oder gleich die Tastenkombination +.
5 Der Informationsgehalt Ihrer Tabellen wird wesentlich unterstützt durch eine übersichtliche Formatierung. Die wichtigsten Standardformatierungen können Sie über das Register START anwählen. Für differenziertere
MehrErzeugung und Veränderung von Tabellen
Datenbanken - Objekte Erzeugung und Veränderung von Tabellen Objekt Tabelle View Sequence Index Synonym Basiseinheit zum Speichern; besteht aus Zeilen und Spalten; Logische Repräsentation; kann Teilmengen
MehrInhaltsverzeichnis. Einleitung
vn Inhaltsverzeichnis Einleitung Kapitel 1: Eine Einführung in relationale Datenbanken 7 Was ist eine relationale Datenbank? 9 Verknüpfen der einzelnen Tabellen 10 Die Reihenfolge der Zeilen ist beliebig
MehrDie bisher bereits bekannten Aggregatsfunktionen MIN, MAX, SUM, AVG, COUNT, VARIANCE und STDDEV wurden um FIRST und LAST erweitert.
Betrifft Autor FIRST, LAST Markus Jägle (markus.jaegle@trivadis.com) Art der Info Technische Background Info (April 2002) Quelle Aus dem NF9i-Kurs, NF9i-Techno-Circle der Trivadis und Oracle9i Data Warehousing
MehrOracle Database 11g: Professioneller Einstieg in SQL Release 2 (Deutsch)
Oracle University Kontakt: 0180-2000-526 / +49 89-14301200 Oracle Database 11g: Professioneller Einstieg in SQL Release 2 (Deutsch) Dauer: 5 Tage Lerninhalte Die Teilnehmer lernen die relationalen Datenbankkonzepte
Mehr1. Auftragsbestätigungen ( )
1/10 1. Auftragsbestätigungen (04-05-11) Sie haben in X-oil die Möglichkeit, bis zu 998 Muster-Auftragsbestätigungen zu pflegen, die dann im Telefonverkauf automatisch oder per Hand aktiviert werden. Automatisch
Mehrquick documentation Inhalt Datenmodellierung
quick documentation TO: FROM: SUBJECT: ARND.SPIERING@AS-INFORMATIK.NET QS ORACLE SPATIAL DATENBANKEN DATE: 14.08.2011 Inhalt Dieses Dokument beschreibt Ansätze zur Datenmodellierung, Qualitätssicherung
MehrMicrosoft PowerPoint D-Modelle
Hochschulrechenzentrum Justus-Liebig-Universität Gießen Microsoft PowerPoint 2019 3D-Modelle 3D-Modelle in PowerPoint 2019 Seite 1 von 7 Inhaltsverzeichnis Einleitung... 2 3D-Modell einfügen... 2 3D-Modell
MehrSELECT dient dazu, aus einer vorhandenen Datenbank bestimmte Spalten und Zeilen auszugeben es handelt sich also um eine Auswahlabfrage.
SELECT-FROM SELECT dient dazu, aus einer vorhandenen Datenbank bestimmte Spalten und Zeilen auszugeben es handelt sich also um eine Auswahlabfrage. Inhaltsverzeichnis 1 Der grundlegende Aufbau 2 Doppelte
MehrTipps & Tricks: Umkodieren von ICD-9-Daten Daten zu ICD-10 in SAS mittels PROC SQL
Tipps & Tricks: Umkodieren von ICD-9-Daten Daten zu ICD-10 in SAS mittels PROC SQL Andreas Deckert Institute of Public Health, Universität Heidelberg Problemstellung Mortalitäts-Follow-Up einer Kohorte
MehrImport von Text-Dateien. Einzelne Wörter einlesen.
News Artikel Foren Projekte Links Über Redscope Join List Random Previous Next Startseite Foren Allgemeine Fragen zu SAS Import von Text-Dateien. Einzelne Wörter einlesen. 28 April, 2009-10:14 beznika
MehrArbeiten 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.)
MehrMartin Bracher (martin.bracher@trivadis.com) Technische Background Info und Trivadis Scripts
Betrifft Autor Art der Info Quelle Resize von Tablespaces mit Oracle8i und Oracle9i Martin Bracher (martin.bracher@trivadis.com) Technische Background Info und Trivadis Scripts Aus dem AI9-A Kurs der Trivadis
MehrÜbung PL/SQL Trigger Lösungen
Übung PL/SQL Trigger Lösungen 1) Gebe das aktuelle Datum aus. Wofür steht dual? Ändere das Datum für Deine aktuelle Session auf das Format Jahr (4 Stellen) Monat (2 Stellen) Tag (2 Stellen)[Leerzeichen]Stunde
MehrKopf-/Fußzeilen und Seitenzahlen
Dokumentvorlagen Dokumente Formatvorlagen Format Zeichen Format Absatz Datei Neu... Datei öffnen Datei schließen Beenden Suchen Suchen & Ersetzen Verknüpfungen Optionen Einfügen Inhalte einfügen Format
MehrPrüfung Computation, Programming
Prüfung Computation, Programming 1. Computation: Reguläre Ausdrücke [5 Punkte] Zusammenfassung reguläre Ausdrücke a Das Zeichen a. Ein beliebiges Zeichen [abc] Ein beliebiges Zeichen aus der Menge {a,
MehrDateinamen für die tägliche Datenverteilung (Download)
Dateinamen für die tägliche Datenverteilung (Download) 1. Namen der ZIP-Dateien Die Namen der zum Download bereitgestellten ZIP-Archive sind folgendermaßen aufgebaut: _group__.zip
MehrJasperReports für Oracle Reports Entwickler
Ihr Partner für IT JasperReports für Oracle Reports Entwickler 1 Januar 2017 Agenda 1. Einführung JasperReports 2. Aufbau eines Reports 3. Datenquellen 4. Berichtselemente 5. Deployment 6. Parameter, Felder
Mehr