https://www.youtube.com/watch?v=BMuWVFidzaw&t
Datei-Globbing
EINFACHES GLOBBING
| * | Nichts oder beliebige Anzahl beliebiger Zeichen |
| ? | Exakt ein beliebiges Zeichen |
| [abc] | Eines der angegebenen Zeichen |
| [a-z] | Alle Kleinbuchstaben |
| [A-Z] | Alle Großbuchstaben |
| [0-9] | Alle Ziffern |
| [!abc] | Negierung der Zeichenmenge |
| [ ^abc] | Negierung der Zeichenmenge (nicht POSIX kompatibel, Bash ok) |
| {anna,berta} | Brace Expansion greift vor Globbing |
GLOBBING SONDERZEICHEN
| * | Stern |
| ? | Fragezeichen |
| [ | Öffnende eckige Klammer |
| ] | Schließende eckige Klammer |
BRACE EXTENSION SONDERZEICHEN
| { | Öffnende geschweifte Klammer |
| } | Schließende geschweifte Klammer |
SHELL SONDERZEICHEN
| | Leerzeichen |
| $ | Dollar (Variablenexpansion) |
| ` | Backtick (Command substitution) |
| " | Doppelte Anführungszeichen |
| ' | Einfache Anführungszeichen |
| \ | Backslash selbst |
| ! | Ausrufezeichen (History expansion in bash) |
| & | Ampersand (Background-Prozess) |
| ; | Semikolon (Befehlstrennung) |
| | | Pipe |
| ( ) | Klammern (Subshell) |
| < > | Umleitungen |
| # | Kommentar (am Anfang) |
| ~ | Tilde (Home-Verzeichnis) |
| Newline | - |
| Zeilenumbruch | - |
Globbing POSIX Zeichenklassen
| [[:alnum:]] | Ziffern und Buchstaben (alphanumerisch) |
| [[:alpha:]] | Buchstaben (a-z, A-Z) |
| [[:digit:]] | Ziffern (0-9) |
| [[:lower:]] | Kleinbuchstaben (a-z) |
| [[:upper:]] | Großbuchstaben (A-Z) |
| [[:blank:]] | Leerzeichen und Tabs |
| [[:space:]] | Alle Whitespace-Zeichen (Leerzeichen, Tab, Newline, etc.) |
| [[:punct:]] | Satzzeichen |
| [[:print:]] | Druckbare Zeichen (inkl. Leerzeichen) |
| [[:graph:]] | Sichtbare Zeichen (druckbar ohne Leerzeichen) |
| [[:cntrl:]] | Steuerzeichen |
| [[:xdigit:]] | Hexadezimale Ziffern (0-9, a-f, A-F) |
Erweiterte Globbing Funktionen mit Bash Modulen
| Bash Modul aktivieren | shopt -s MODUL |
| Bash Modul deaktivieren | shopt -u MODUL |
| Bash Modul Status abfragen | shopt MODUL |
| Alle Bash Module Status abfragen | shopt |
Bash Module für GLOBBING
| dotglob | * matcht auch Dateien, die mit . beginnen |
| failglob | Falls kein Match > Fehler statt unverändertes Muster |
| globstar | ** matcht rekursiv in Unterverzeichnissen |
| nocaseglob | Globbing ignoriert Groß-/Kleinschreibung |
| nullglob | Kein Treffer > leere Liste statt unverändertes Pattern |
extglob
| ?(pattern) | Kein oder ein Vorkommen |
| *(pattern) | Kein oder beliebig viele Vorkommen |
| +(pattern) | Ein oder mehr Vorkommen |
| @(pattern) | Genau ein Vorkommen |
| !(pattern) | Alles außer dem Muster |