Wildcards oder Joker-Zeichen wie * oder ? bezeichnen einen Platzhalter für andere Zeichen und diese kennen Sie sicher aus der Arbeit in einer Konsole.
In der folgenden Tabelle sind Wildcards und ihre Erweiterungen beschrieben sowie die Platzhalter-Eigenschaften genannt:
Wildcard | Beschreibung: Passt genau auf … oder ist Platzhalter für genau … |
---|---|
* | ein oder mehrere Zeichen |
? | ein Zeichen |
[mMbB] | ein Zeichen aus der Zeichen-Menge |
[a-d] | ein Zeichen aus dem vorgegebenen Bereich |
[!mMbB] | jedes Zeichen, das nicht in der Zeichen-Menge ist |
[!a-d] | jedes Zeichen, das nicht im angegebenen Bereich ist |
{txt,log,csv} | eines der drei 'Worte' in der durch Komma getrennten Liste |
Tabelle 19.6.1.1: Oft benutzte Wildcards in einer Konsole
Beispiel 1 Gesucht werden alle Dateien im aktuellen Verzeichnis
die mit dem Buchstaben p oder P beginnen [pP] und denen mehrere Zeichen folgen * und deren Extension genau 3 Zeichen lang ist ??? :
hans@linux:~$ ls -l [pP]*.??? -rwxrwxrwx 1 hans hans 467 Dez 26 20:30 parametertest.sh~ -rw------- 1 hans hans 0 Okt 27 19:54 perl.cgi -rw------- 1 hans hans 225 Mai 11 2011 pgausgabe.sql
Weitere Beispiele:
hans@linux:~$ ls -l [m]*.*[~] -rwx--x--x 1 hans hans 270 Dez 29 14:41 myName.script~ -rw------- 1 hans hans 3022 Dez 29 16:00 mysql.gbs~
hans@linux:~$ ls -l [kKmM]*.gb{s,w} -rw------- 1 hans hans 1616 Mai 14 2012 kontakt.gbw -rwx--x--x 1 hans hans 2018 Jan 3 2012 m.gbs -rw------- 1 hans hans 1984 Jan 3 2012 m.gbw -rwx--x--x 1 hans hans 3022 Dez 29 16:00 mysql.gbs
Der Konsolen-Editor sed bietet durch den Einsatz von regulären Ausdrücken – im Zusammenwirken mit den Instruktionen SHELL und EXEC – umfangreiche Möglichkeiten, die Arbeit mit Text-Dateien und und deren Inhalt (Zeichenketten) komfortabel zu gestalten. Das folgende Beispiel soll die Mächtigkeit des Programms sed demonstrieren:
hans@linux:~$ sed 's/\bProgramm\b/Projekt/g' --in-place=.bak $HOME/a_sed.txt
Was leistet diese kryptisch anmutende Zeile? In der Datei a_sed.txt ist das (isolierte) Wort Programm global (/g) – also im ganzen Textinhalt – durch das Wort Projekt zu ersetzen und die Original-Datei mit der Extension .bak in der Datei mit dem Dateinamen originaldateiname.bak zu sichern.
Kann Sie so ein Einzeiler begeistern ist das die richtige Motivation, um sich mit regulären Ausdrücken und deren Einsatz in Gambas-Projekten (intensiver) zu beschäftigen.