Bash/Expansion von Dateinamen/Übungen: Unterschied zwischen den Versionen
Erscheinungsbild
Keine Bearbeitungszusammenfassung |
K Textersetzung - „ “ durch „ “ |
||
| Zeile 5: | Zeile 5: | ||
ls a* | ls a* | ||
a | a aa aaa# Ein beliebiges Zeichen (?) | ||
ls a? | ls a? | ||
| Zeile 11: | Zeile 11: | ||
ls [abc] | ls [abc] | ||
a | a b c# Ein Zeichen aus einem Bereich [ - ] | ||
ls [a-d] | ls [a-d] | ||
a | a b c d# Kein Zeichen aus der Menge [! ] | ||
ls [!ab]* | ls [!ab]* | ||
c | c cc ccc d dd ddd# Kein Zeichen aus einem Bereich [! - ] | ||
ls [!a-c]* | ls [!a-c]* | ||
d | d dd ddd | ||
=== Übungen 2 === | === Übungen 2 === | ||
| Zeile 30: | Zeile 30: | ||
'''ls ?(a|b)''' | '''ls ?(a|b)''' | ||
a | a b# *(Muster-Liste) - kein oder mehrere Auftreten eines Musters | ||
'''ls *(a|b)''' | '''ls *(a|b)''' | ||
a | a aa aaa b bb bbb# +(Muster-Liste) - ein oder mehrere Auftreten eines Musters | ||
'''ls +(a|b)''' | '''ls +(a|b)''' | ||
a | a aa aaa b bb bbb# @(Muster-Liste) - genau ein Auftreten eines Musters | ||
'''ls @(a|b)''' | '''ls @(a|b)''' | ||
a | a b# !(Muster-Liste)- alle außer den angegebenen Mustern | ||
'''ls !(a|b)''' | '''ls !(a|b)''' | ||
1 | 1 11 111 2 22 222 3 33 333 aa aaa bb bbb c cc ccc# .!(|.) - Dotfiles ohne "." und ".." | ||
'''ls -d .!(|.)''' | '''ls -d .!(|.)''' | ||
| Zeile 50: | Zeile 50: | ||
; <nowiki>[[:Zeichenklasse:]]</nowiki> | ; <nowiki>[[:Zeichenklasse:]]</nowiki> | ||
'''<nowiki>ls [[:alpha:]]</nowiki>''' | '''<nowiki>ls [[:alpha:]]</nowiki>''' | ||
a | a b c# Kombinationen | ||
'''<nowiki>ls +([[:digit:]])</nowiki>''' | '''<nowiki>ls +([[:digit:]])</nowiki>''' | ||
1 | 1 11 111 2 22 222 3 33 333 | ||
'''<nowiki>ls ?([[:digit:]])</nowiki>''' | '''<nowiki>ls ?([[:digit:]])</nowiki>''' | ||
1 | 1 2 3 | ||
'''<nowiki>ls +([[:digit:]]|!([[:upper:]]))</nowiki>''' | '''<nowiki>ls +([[:digit:]]|!([[:upper:]]))</nowiki>''' | ||
1 | 1 11 111 2 22 222 3 33 333 a aa aaa b bb bbb c cc ccc | ||
[[Kategorie:Bash/Expansionen]] | [[Kategorie:Bash/Expansionen]] | ||
Aktuelle Version vom 14. Juni 2026, 00:50 Uhr
Übungen 1
Vorbereitung
mkdir ~/gob && cd ~/gob touch a aa aaa b bb bbb c cc ccc d dd ddd# Beliebig viele beliebige Zeichen (*)
ls a* a aa aaa# Ein beliebiges Zeichen (?)
ls a? aa# Ein Zeichen aus einer Menge [...]
ls [abc] a b c# Ein Zeichen aus einem Bereich [ - ]
ls [a-d] a b c d# Kein Zeichen aus der Menge [! ]
ls [!ab]* c cc ccc d dd ddd# Kein Zeichen aus einem Bereich [! - ]
ls [!a-c]* d dd ddd
Übungen 2
Vorbereitung
mkdir ~/extgob && cd ~/extgob touch 1 11 111 2 22 222 3 33 333 touch a aa aaa b bb bbb c cc ccc# ?(Muster-Liste)- kein oder ein Auftreten eines Musters
ls ?(a|b) a b# *(Muster-Liste) - kein oder mehrere Auftreten eines Musters
ls *(a|b) a aa aaa b bb bbb# +(Muster-Liste) - ein oder mehrere Auftreten eines Musters
ls +(a|b) a aa aaa b bb bbb# @(Muster-Liste) - genau ein Auftreten eines Musters
ls @(a|b) a b# !(Muster-Liste)- alle außer den angegebenen Mustern
ls !(a|b) 1 11 111 2 22 222 3 33 333 aa aaa bb bbb c cc ccc# .!(|.) - Dotfiles ohne "." und ".."
ls -d .!(|.) .bash_history .bash_profile .bashrc
Zeichenklasse
- [[:Zeichenklasse:]]
ls [[:alpha:]] a b c# Kombinationen
ls +([[:digit:]]) 1 11 111 2 22 222 3 33 333
ls ?([[:digit:]]) 1 2 3
ls +([[:digit:]]|!([[:upper:]])) 1 11 111 2 22 222 3 33 333 a aa aaa b bb bbb c cc ccc