Jokerzeichen/Wildcard
Zur Navigation springen
Zur Suche springen
Was ist das?
- Bash verwendet den Asterisk "*" als Platzhalter für beliebige Zeichen oder Zeichenfolgen in Dateinamen oder Verzeichnispfaden.
- Die Wildcard "*" kann in Kombination mit anderen Zeichen verwendet werden, um gezielt nach bestimmten Dateien zu suchen oder Aktionen auf eine Gruppe von Dateien anzuwenden.
Einführung
- mkdir test
- cd test/
- touch a ab abc abcd abcd b cd efg haij
Ein * steht für jedes Zeichen beliebig oft
- ls *
a ab abc abcd b cd efg haij
- ls ab*
ab abc abcd
Ein ? steht genau für ein Zeichen
- ls ?
a b
- ls ??
ab cd
- ls ???*
abc abcd efg haij
Eine [] steht genau für ein Zeichen das in der Klammer ist
- ls [ab]
a b
- ls [abc]?
ab cd
Eine [!] steht genau für ein Zeichen das nicht in der Klammer ist
- ls [!abc]*
efg haij
Mit der {element1,element2} kann man Dateinamen generieren
- mkdir -v dir{1,2,3,4,5,6}
mkdir: Verzeichnis „dir1“ angelegt mkdir: Verzeichnis „dir2“ angelegt mkdir: Verzeichnis „dir3“ angelegt mkdir: Verzeichnis „dir4“ angelegt mkdir: Verzeichnis „dir5“ angelegt mkdir: Verzeichnis „dir6“ angelegt
Backup mit Dateinamengenerierung
- cp -v xx{,.save}
Wenn kein Treffer erfolgt wird das Sonderzeichen eingesetzt
- rm -r *
- mkdir -v *
mkdir: Verzeichnis „*“ angelegt
- cd *t/*$
Entwerten kann man ein Sonderzeichen mit einem \
- rm -rvi \*
rm: Verzeichnis „*“ entfernen? n
Entwerten kann man mehrere Sonderzeichen mit "..."
- rm -rvi "*"
rm: Verzeichnis „*“ entfernen? n
Entwerten kann man mehrere Sonderzeichen mit '...'
- rm -rvi '*'
rm: Verzeichnis „*“ entfernen? n