Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung |
vortraege:bash:t-time:start [2020-05-28 13:35] – Franke | vortraege:bash:t-time:start [2020-06-03 19:04] (aktuell) – [Export: PDF] Franke |
---|
====== T-Time mit Udo ====== | ====== T-Time mit Udo ====== |
{{entry>Vorträge/Bash/T-Time mit Udo;-}} | {{entry>Vorträge/Bash/T-Time mit Udo;-}} |
{{tag>Vorträge Vortrag BASH T-Time mit_Udo}} | {{tag>Vorträge Vortrag BASH T-Time_mit_Udo}} |
| |
T-Time (Terminal-Time) sind Udos kleine Einführungen und Übungen in BASH und Terminal - aka Konsole, xterm, term ... | T-Time (Terminal-Time) sind Udo's kleine Einführungen und Übungen in BASH und Terminal - aka Konsole, xterm, term ... |
| |
Viel Spaß bei den einzelnen Übungen! :-) | Viel Spaß bei den einzelnen Übungen! :-) |
==== Einführung ==== | ==== Einführung ==== |
| |
Wie schon am Anfang geschrieben ist RegEx das Suchen nach 'Mustern' (Ausdrücken), und nicht nach "Namen". Die Syntax der Ausdrücke ist in vielen Programmen ähnlich in den einfachen Anweisungen, weicht aber erheblich in den komplexeren ab und ist daher eher vergleichbar mit einer Sprache. (S.a.: https://de.wikipedia.org/wiki/Regul%C3%A4rer_Ausdruck) | Wie schon am Anfang geschrieben ist RegEx das Suchen nach 'Mustern' (Ausdrücken), und nicht nach "Namen". Die Syntax der Ausdrücke ist in vielen Programmen ähnlich in den einfachen Anweisungen, weicht aber erheblich in den komplexeren ab und ist daher eher vergleichbar mit einer Sprache. (S.a.: [[https://de.wikipedia.org/wiki/Regul%C3%A4rer_Ausdruck|WP: Regulärer Ausdruck]]) |
| |
Wir behandeln hier nur ein paar Basics um den Einstieg zu meistern. | Wir behandeln hier nur ein paar Basics um den Einstieg zu meistern. |
Die Ausdrücke bestehen aus Zeichen mit Sonderbedeutung, von denen wir uns folgende näher anschauen: | Die Ausdrücke bestehen aus Zeichen mit Sonderbedeutung, von denen wir uns folgende näher anschauen: |
| |
* Der Zeilenanfang wird mit dem Circonlex '^' maskiert. Beispiel: '^[AS]' sucht nach Wörtern am Zeilenanfang die mit (Groß-)A oder -S beginnen. | * Der Zeilenanfang wird mit dem Circonflex (auch [[https://de.wikipedia.org/wiki/Circonflex|Zirkumflex]]) '^' maskiert. Beispiel: '^[AS]' sucht nach Wörtern am Zeilenanfang die mit (Groß-)A oder -S beginnen. |
* Das Dollar-Zeichen '$' steht für Zeilenende. Beispiel: '.*.txt$' (!) In einigen Sprachen muss explizit angegeben werden, ob sich '(^|$)' auf Zeilen- oder Datei-Anfang/Ende bezieht. | * Das Dollar-Zeichen '$' steht für Zeilenende. Beispiel: '.*.txt$' (!) In einigen Sprachen muss explizit angegeben werden, ob sich '(^|$)' auf Zeilen- oder Datei-Anfang/Ende bezieht. |
* Das Zeichen '\<' zeigt den Wortanfang. Beispiel: '\<Col' | * Das Zeichen '\<' zeigt den Wortanfang. Beispiel: '\<Col' |
* Das Wortende wird mit '\>' symbolisiert. Beispiel:'ger\>' | * Das Wortende wird mit '\>' symbolisiert. Beispiel:'ger\>' |
* Die Eckigen Klammern '[]' bilden Aufzählungen und Gruppen von Zeichen. Beispiel: '[0-8a-zA-Z\.\-]' | * Die Eckigen Klammern '[]' bilden Aufzählungen und Gruppen von Zeichen. Beispiel: '[0-9a-zA-Z\.\-]', '[RFSW-Y]' |
* Runde Klammern '()' enthalten Alternativen, das '|' (Pipe)-Zeichen ergibt das 'oder'. Beispiel: '(Colombo|Arnol|anco)' | * Runde Klammern '()' enthalten Alternativen, das '|' (Pipe)-Zeichen ergibt das 'oder'. Beispiel: '(Colombo|Arnol|anco)' |
* Geschweifte Klammern '{}' enthalten, wie oft der vorstehende Ausdruck in {min,max} vorkommt. Beispiel: '[a-c]{2,4}' a|b|c kommt 2-4 Mal vor. | * Geschweifte Klammern '{}' enthalten, wie oft der vorstehende Ausdruck in {min,max} vorkommt. Beispiel: '[a-c]{2,4}' a|b|c kommt 2-4 Mal vor. |
* '*' einmal, mehr oder keinmal | * '*' einmal, mehr oder keinmal |
* Der Punkt '.' steht für ein beliebiges Zeichen. | * Der Punkt '.' steht für ein beliebiges Zeichen. |
* Der Punkt '.*' gefolgt vom Sternchen steht somit für ein beliebiges Zeichen in beliebiger Anzahl. Beispiel: '.*warz.*' | * Der Punkt '.*' gefolgt vom Sternchen steht somit für ein, oder kein, beliebiges Zeichen in beliebiger Anzahl. Beispiel: '.*warz.*' |
| |
| Siehe auch: man regex (7) |
==== Beispiele ==== | ==== Beispiele ==== |
| |
* '[0-9]{4}-[0-9]{2}-[0-9]{2}' # Datum in ISO | * '[0-9]{4}-[0-9]{2}-[0-9]{2}' # Datum in ISO |
* '[0-9]{1,2}\.[0-9]{1,2}\.(19|20)[0-9]{2}' # Datum in DE Schreibweise, nur die Jahrhunderte 19, 20 | * '[0-9]{1,2}\.[0-9]{1,2}\.(19|20)[0-9]{2}' # Datum in DE Schreibweise, nur die Jahrhunderte 19, 20 |
* '[^[\s]*\#.*]' # Zeile beginnt vorn mit Kommentarzeichen | * '^[\s]*\#' # Zeile beginnt vorn mit Kommentarzeichen |
| * '[^D-F]' # Nicht (Gross-) D-F |
| |
==== Übungen ==== | ==== Übungen ==== |
* Wer hat bis 2007 mindestens drei mal im zwanzigsten Jahrhundert gewonnen? | * Wer hat bis 2007 mindestens drei mal im zwanzigsten Jahrhundert gewonnen? |
| |
Zum ausprobieren eigenen sich die Befehle: grep und egrep. Mehr über die Befehle erfahrt ihr wie immer mit: man grep, man egrep. | Zum ausprobieren eigenen sich die Befehle: grep, egrep oder sed. Mehr über die Befehle erfahrt ihr wie immer mit: man $befehl. |
| |
Zum experimentieren und herumspielen die Datei 'mrolympia.dat' mit den Beispieldaten herunterladen und ordentlich RegEx'en. <fs small>(Zum speichern ggf.: Rechtsklick und Speichern_Unter)</fs> | Zum experimentieren und herumspielen die Datei 'mrolympia.dat' mit den Beispieldaten herunterladen und ordentlich RegEx'en. <fs small>(Zum speichern ggf.: Rechtsklick und Speichern_Unter)</fs> |
Brandon Curry USA 2019 | Brandon Curry USA 2019 |
| |
(Daten anlehnend an Wikipedia) | # Kommentare |
| # (Daten anlehnend an Wikipedia) |
| # Noch ein Kommentar |
24.05.2020 | 24.05.2020 |
2020-05-24 | 2020-05-24 |
ls -lh Uebung/ # prüfen ob alle 0-Byte-files gelöscht sind | ls -lh Uebung/ # prüfen ob alle 0-Byte-files gelöscht sind |
</code> | </code> |
| |
| |
| |
| ===== Export: PDF ===== |
| |
| |
| Diese Seite exportieren: {{fa>file-pdf-o|PDF Export}} [[?do=export_pdf|PDF Export]] |
| |
| |
| |