Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
vortraege:bash:t-time:start [2020-05-28 12:29] – [2020-05-27: RegEx ist kein Dinosaurier!] Frankevortraege:bash:t-time:start [2020-06-03 19:04] (aktuell) – [Export: PDF] Franke
Zeile 1: Zeile 1:
 ====== T-Time mit Udo ====== ====== T-Time mit Udo ======
 {{entry>Vorträge/Bash/T-Time mit Udo;-}} {{entry>Vorträge/Bash/T-Time mit Udo;-}}
-{{entry>BASH/Befehle/tar;-}} +{{tag>Vorträge Vortrag BASH T-Time_mit_Udo}}
-{{entry>BASH/Befehle/less;-}} +
-{{entry>BASH/Befehle/find;-}} +
-{{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'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! :-)
Zeile 13: Zeile 10:
  
 ===== 2020-05-27: RegEx ist kein Dinosaurier! ===== ===== 2020-05-27: RegEx ist kein Dinosaurier! =====
 +{{entry>Regular Expression;-}}
 +{{entry>RegEx;-}}
 +{{entry>BASH/Befehle/grep;-}}
 +{{entry>BASH/Befehle/egrep;-}}
  
 ==== Was ist RegEx? ==== ==== Was ist RegEx? ====
Zeile 24: Zeile 25:
 ==== 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.
Zeile 30: Zeile 31:
 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:
  
-Am Anfang einer Zeile dient das '^' dazu, den Zeilenbeginn festzulegen. 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 Zeichen '\<' zeigt den Wortanfang. Beispiel: '\<Col' 
 +  * Das Wortende wird mit '\>' symbolisiert. Beispiel:'ger\>' 
 +  * 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)' 
 +  * 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. 
 +  * Weiter gibt es so genannte Quantoren: Sie geben die Anzahl der Zeichen in Bezug auf den unmittelbar vorstehenden Ausdruck oder Zeichen an: 
 +    * '?' 'optional' null oder einmal Beispiel : 'July?' Hier ist das 'y' optional 
 +    * '+' mindestens einmal oder mehr 
 +    * '*' einmal, mehr oder keinmal 
 +    * Der Punkt '.' steht für ein beliebiges Zeichen. 
 +      * Der Punkt '.*' gefolgt vom Sternchen steht somit für ein, oder kein, beliebiges Zeichen in beliebiger Anzahl. Beispiel: '.*warz.*'
  
-Das '$'-Zeichen signalisiert dem Commando nach Zeichenfolgen am Ende der Zeile zu suchen. Beispiel'.*1'+Siehe auchman regex (7) 
 +==== Beispiele ====
  
-Das Zeichen '\<' zeigt den Wortanfang. Beispiel: '\<Col'+  * 'Arno' # alle 'Arno' 
 +  * '[SCZ]+' # mindestens ein (S|C|Z) muss enthalten sein 
 +  * '(rno|ick|tes)' # enthält 'rno', 'ick' oder 'tes' 
 +  * '\<19[0-9][0-9]\># alle Jahre aus 19xx 
 +  * '(\<19[0-9][0-9]\>){2,4}' # muss 2-4 Mal 19xx enthalten 
 +  * '[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 
 +  * '^[\s]*\#' # Zeile beginnt vorn mit Kommentarzeichen 
 +  * '[^D-F]# Nicht (Gross-) D-F
  
-Das Wortende wird mit '\>' symbolisiertBeispiel:'ger\>'+==== Übungen ==== 
 +Die Übungen beziehen sich auf unten stehende BeispieldatenIn denen ist gelistet, wer aus welchem Land in welchem Jahr [[https://de.wikipedia.org/wiki/Mr._Olympia|Mr. Olympia]] wurde:
  
-Das '|' (Pipe)-Zeichen ergibt das 'oder' in der Suche. Beispiel: 'Colombo|Columbu|Col'+  * Suche Olivia 
 +  * Suche alle die mindestens drei mal in 1900er vorkommen 
 +  * Suche alle die nicht USA sind 
 +  * Suche alle die Frank heissen 
 +  * Wer hat bis 2007 mindestens drei mal im zwanzigsten Jahrhundert gewonnen?
  
-Weiter gibt es so genannte QuantorenSie geben die Anzahl der Zeichen an:+Zum ausprobieren eigenen sich die Befehlegrep, egrep oder sed. Mehr über die Befehle erfahrt ihr wie immer mitman $befehl.
  
-'?' 'optional' null oder einmal Beispiel 'July?' Hier ist das 'y' optional+Zum experimentieren und herumspielen die Datei 'mrolympia.datmit den Beispieldaten herunterladen und ordentlich RegEx'en. <fs small>(Zum speichern ggf.Rechtsklick und Speichern_Unter)</fs>
  
-'+' mindestens einmal oder mehr +<file text mrolympia.dat>
- +
-'*' einmal, mehr oder keinmal +
- +
-Der Punkt '.' steht für ein beliebiges Zeichen. +
- +
-Der Punkt '.*' gefolgt vom Sternchen ist für ein beliebiges Zeichen in beliebiger Anzahl. Beispiel: '.*warz.*' +
- +
-Zum experimentieren und herumspielen findet Ihr unten die Datei 'mrolympia.dat' mit den Beispieldaten. +
- +
-Zum ausprobieren eigenen sich die Befehle: grep und egrep Mehr über die Befehle erfahrt ihr wie immer mit: man grep, man egrep +
- +
-Viel Spaß beim Suchen nach Mustern! :-) +
- +
-(Zum speichern: Rechtsklick und Speichern_Unter) +
-<file mrolympia.dat>+
 Larry Scott USA 1965 1966 Larry Scott USA 1965 1966
 Sergio Oliva USA 1967 1968 1969 Sergio Oliva USA 1967 1968 1969
Zeile 75: Zeile 87:
 Shawn Rhoden USA 2018 Shawn Rhoden USA 2018
 Brandon Curry USA 2019 Brandon Curry USA 2019
 +
 +# Kommentare
 +  # (Daten anlehnend an Wikipedia)
 +#   Noch    ein   Kommentar
 24.05.2020 24.05.2020
 2020-05-24 2020-05-24
 </file> </file>
-<fs small>//(Daten anlehenend an Wikipedia)//</fs> 
  
  
-Zum selber Studieren, gib es noch viel mehr RegExu.a. auf: https://www.regular-expressions.info+Mehr RegEx gibt es u.a. auf: https://www.regular-expressions.info 
 + 
 +Viel Spaß beim Suchen nach Mustern! :-)
  
 ===== 2020-05-20: tar und less ===== ===== 2020-05-20: tar und less =====
 +{{entry>BASH/Befehle/tar;-}}
 +{{entry>BASH/Befehle/less;-}}
 +{{entry>BASH/Befehle/find;-}}
  
 Was wir heute machen wollen: Was wir heute machen wollen:
Zeile 131: Zeile 151:
 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]]
 +
  
  
  • Zuletzt geändert: 2020-05-28 12:29